gpt4 book ai didi

objective-c - 节省 boolean 值的问题

转载 作者:行者123 更新时间:2023-12-03 02:25:39 28 4
gpt4 key购买 nike

编辑

我的应用程序中有声音,该声音在应用程序启动时开始播放。此外,我还有两种播放和停止声音的方法:

-(void)playBgMusic {

NSString *path = [[NSBundle mainBundle] pathForResource:@"bgmusic" ofType:@"aif"];
theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
[defaults setBool:NO forKey:@"isQuiet"]; }


-(void)stopMusic {

[theAudio stop];
[defaults setBool:YES forKey:@"isQuiet"]; }

现在,我有了不同的viewControllers,在mainView中,有一个按钮可以停止/开始音乐(取决于播放的音乐是否在播放)。

所以我有:
-(IBAction)check {

isquiet = [defaults boolForKey:@"isQuiet"];

if (isquiet == YES) {

[self playBgMusic];

// Change button to indicate music is playing

}

else {

[self stopMusic];

// Change the button to indicate music has stopped...
}

}

现在有一个问题。启动应用程序时会播放声音,此后,我可以按按钮并停止播放声音,但之后我无法再次启动它。我将NSLogs放入代码中,并在按下stopButton后看到BOOL仍然为NO。

我的错在哪里

最佳答案

从严格意义上讲,这不是一个答案,但是希望它将使您走上正确的轨道……

将一些日志记录(通过NSLog(...)或添加日志记录断点)添加到上述输出isquiet值的代码的NO和YES情况下。然后,您可以查看在不同情况下按下按钮时将调用哪些代码路径。

关于objective-c - 节省 boolean 值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5588209/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com