2017-02-20 60 views
0

当我从其他应用程序启动我的应用程序音乐时,停止播放。当我的应用程序启动时,来自其他应用程序的音乐停止播放

我试过在didFinishLaunchingWithOptions中加入setCategory:AVAudioSessionCategoryAmbient,但音乐在FIRST发射时仍然停止。如果我开始播放音乐并通过主页按钮回到应用程序,音乐将继续播放。第一次启动问题有没有解决办法?

片段,我说:

// make sure music plays while sounds play. 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 
+0

'AVAudioSessionCategoryAmbient'是适合使用的东西。我在我的一个应用程序中正好使用了该代码,并且它按预期工作 - 已经播放来自其他应用程序的音频不会在我的应用程序启动时停止。 'setCategory'为成功返回一个BOOL;你是否尝试过检查,或者看到错误是否在'error'参数中返回? – zpasternack

+0

@zpasternack好主意,我会试着看看能否从中得到一些有意义的东西。 – Warpzit

回答

0

试试这个:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient withOptions:0 error:nil]; 

或者这上面,如果不工作:

[[AVAudioSession sharedInstance] setActive:NO error:nil]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

编辑:

如果以上都不适合你,那你就是如果这适用于您的用例,那么可能会尝试设置另一个类别,您认为它与AVAudioSessionCategoryOptionMixWithOthers一致。

确定此会话中的音频是否与其他音频应用中的 活动会话中的音频混合在一起。

+0

没有工作。我想知道它是否可以与用于播放某些声音的静态库相关。 – Warpzit

+0

@Warpzit嗯......不知道,如果你设置了活动:上面提到应该工作,否则你可以执行更改,而无需使用当前选项访问音频并阻止其他音乐播放。您应该至少尝试禁用其他框架来确保。但是,检查更新的答案,如果这符合您的需求,并为您解决也许? – 2017-02-21 22:54:26

相关问题