Ios 停止播放系统声音
我可以使用以下方法关闭音频播放器:Ios 停止播放系统声音,ios,objective-c,cocoa-touch,avaudioplayer,Ios,Objective C,Cocoa Touch,Avaudioplayer,我可以使用以下方法关闭音频播放器: - (IBAction)sndOnOff:(id)sender { if (_sndBtn.selected == NO) { [_sndBtn setSelected:YES]; [audioPlayer stop]; } else{ [_sndBtn setSelected:NO]; [audioPlayer play]; } Audio
- (IBAction)sndOnOff:(id)sender {
if (_sndBtn.selected == NO) {
[_sndBtn setSelected:YES];
[audioPlayer stop];
}
else{
[_sndBtn setSelected:NO];
[audioPlayer play];
}
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL1, &sound2);
但是如何关闭我创建的系统声音呢
NSURL *soundURL1 = [[NSBundle mainBundle] URLForResource:@"selectSound"
withExtension:@"wav"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL1, &sound2);
我们不能很好地控制系统声音是有原因的,因为它应该很短(在iOS<30秒)并且完整。想象一下,在任何操作系统中,我们经历了多少次系统声音中断 但你可以这样做:
AudioServicesDisposeSystemSoundID (sound2);
阻止它。但这意味着您需要使用以下方法再次创建声音:
- (IBAction)sndOnOff:(id)sender {
if (_sndBtn.selected == NO) {
[_sndBtn setSelected:YES];
[audioPlayer stop];
}
else{
[_sndBtn setSelected:NO];
[audioPlayer play];
}
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL1, &sound2);
再玩一遍:
AudioServicesPlaySystemSound(sound2);
当然,您可以在AVPlayer
上播放“系统声音”,并像播放歌曲一样停止播放,但这意味着它“不应该”是系统声音。希望这有帮助。就这么做吧
AudioServicesDisposeSystemSoundID (sound2);
我想不出任何负面后果。当你处于不想播放声音的状态时,你就不能避免播放声音吗?你不应该更改设备设置,而且无论如何也不能这样做。我不是在挖苦你,我只是想帮你。确实,您不应该将设备上的音量更改为应用程序中的静音。如果您允许用户切换声音,则没有理由不能在播放声音之前插入复选框。如果你把你的声音集中到一个类中,那么这个检查可以在一个点上完成。那么我怎么做呢?问题是当游戏开始时声音也会加载@Jking提供更多关于你如何加载游戏和声音的信息,这将帮助我们进一步帮助你。显示调用顺序。