我搜索过这个答案但还没找到。
当我的iPhone应用程序启动时,我有在后台播放的音乐。但我想要一个按钮,以便用户可以将音乐静音。应用程序中也有声音效果,因此滑动设备侧面的静音按钮不会削减它。
这是我对AVAudioPlayer的当前代码。
- (void)viewDidLoad{
#if TARGET_IPHONE_SIMULATOR
//here code for use when execute in simulator
#else
//in real iphone
NSString *path = [[NSBundle mainBundle] pathForResource:@"FUNKYMUSIC" ofType:@"mp3"];
AVAudioPlayer *TheAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
TheAudio.delegate = self;
[TheAudio play];
TheAudio.numberOfLoops = -1;
#endif
}
任何人都可以帮我找到一个简单的按钮所需的代码,只需停止音乐并重新开始播放。
先谢谢。
答案 0 :(得分:0)
将此代码放在viewcontroller.h文件中:
-(IBAction) btnStop:(id)sender;
将此代码放在viewcontroller.m文件中:
-(IBAction) btnStop:(id)sender {
[TheAudio stop];
//Whatever else you want to do when the audio is stopped
}
在“界面”构建器中,将按钮连接到此操作,因此在单击该操作时将调用此操作。 这应该会让音乐停止。
答案 1 :(得分:0)
在答案中更容易显示代码:
-(IBAction) playerPlay:(id)sender {
if([player isPlaying]) {
[player stop];
}
if(![player isPlaying]) {
[player play];
}
}
我将解释: [player isPlaying]方法检查音频是否正在播放。如果正在播放音频,则会执行括号中的所有内容(在这种情况下,音频会停止播放)。
因为"!"在![player isPlaying]中,该方法与通常的方法相反。这意味着如果播放器没有播放,括号中的所有内容都会被执行(在这种情况下,音频开始播放)。
所有这些都包含在IBAction中,以便在单击按钮时执行。
为了将来参考,Objective-C中If语句的正确格式为:
if(thing to check for) {
things that happen if the thing that is check for is correct;
}
"然后"从来没有真正使用过,但它是同一个东西,括号中的东西。 希望这有帮助!