我环顾四周,发现了类似的问题,但没有什么相同......如果我在某个地方错过了答案,我会道歉.
我正在使用SpriteKit完成我在Swift中编写的游戏.
我玩过的大多数其他游戏,我可以在背景中播放音乐或者播放音乐,并且在玩游戏时仍能听到它.
在我玩游戏时,我注意到它会自动关闭来自其他应用程序的音频.
我没有使用AVAudioPlayer声音,因为我目前只有少量的音频效果,所以我只是使用SKAction.playsoundfilenamed动作.
我确实有逻辑可以打开和关闭我的声音,但这只是使用一些内部的if/else逻辑.
我想知道是否有一些AVAudio我可以设置的属性,允许其他应用音频在我的开放时继续播放?我在文档中找不到这个.
谢谢!
我的应用程序使用AVPlayer播放mp4,当我的应用程序完成启动时,它会中断iPod音乐,虽然我已将音频会话设置为允许与其他人混音
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionSetActive(true);
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 allowMixWithOthers = true;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixWithOthers), &allowMixWithOthers);
Run Code Online (Sandbox Code Playgroud)
视图控制器出现后,我重新启动iPod音乐,它可以正常使用我的应用程序而不会中断,我的应用程序将不再打断音乐.
有谁知道问题是否可以解决?我也查了一下myapp-info.plist,找不到属性以防止打断iPod.
所有AudioSession方法都不会返回任何错误.
这是iPhoneConfigureUtility中的日志:
Aug 20 10:55:54 nova-teki-iPhone audiotest[3510] <Warning>: AudioSessionInitialize status = 0
Aug 20 10:55:55 nova-teki-iPhone kernel[0] <Debug>: ALS: kIOHIDDisplayBrightnessSliderPositionKey=69% (0xb226)
Aug 20 10:55:55 nova-teki-iPhone audiotest[3510] <Warning>: AudioSessionSetActive status = 0
Aug 20 10:55:55 nova-teki-iPhone audiotest[3510] <Warning>: kAudioSessionProperty_AudioCategory status = 0
Aug 20 10:55:55 nova-teki-iPhone audiotest[3510] <Warning>: kAudioSessionProperty_OverrideCategoryMixWithOthers status = …Run Code Online (Sandbox Code Playgroud)