Ken*_*ker 18 iphone audio avaudioplayer
所以我刚注意到,在我的iPod Touch上,当我的应用程序触发使用AVAudioPlayer播放的短wav文件时,音乐会暂停.这是正常的吗?
我找不到任何对此的引用,似乎会在某处注意到.在播放我的声音时,有没有办法让音乐继续播放?
小智 74
基本上,每个应用程序都分配了一个音频会话,该会话被建模为单例类,您可以在应用程序启动时获取并将参数设置为.我解决同样问题的方法是通过以下单行代码applicationDidFinishLaunching:
Objective-C的:
[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryAmbient error:nil];
斯威夫特2/3:
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
mah*_*udz 13
您无法同时运行AVAudioPlayer和iPod播放器或MPMusicPlayer或MPMoviePlayer,无需多做多少工作.如果您想轻松,请使用Audio Toolbox的System Sounds.
如果你想做一些额外的工作,那么你应该看看音频会话:
kAudioSessionCategory_UserInterfaceSoundEffects用于声音效果,如触摸反馈,爆炸等.相当于
kAudioSessionCategory_AmbientSound您应该使用的 类别.该kAudioSessionCategory_UserInterfaceSoundEffects类别在iPhone OS 3.0中已弃用.
kAudioSessionCategory_AmbientSound适用于长时间的声音,如下雨,汽车引擎噪音等.它也适用于"播放"风格的应用程序,例如用户在iPod音频上播放的虚拟钢琴.使用此类别时,内置应用程序(如iPod)中的音频会与音频混合.当振铃/静音开关设置为静音或屏幕锁定时,您的音频会静音.