如何在ios中恢复音频?

时间:2015-04-28 12:55:44

标签: ios audio ios7 avfoundation

我正在使用Audioplayer来播放5-10秒的音频文件。我的应用程序允许其他应用的背景音乐。在播放音频时,我正在使用

停用其他音乐
 [[AVAudioSession sharedInstance] setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];

完成音频后,我想播放已停用的音乐。

这可能在AVAudioPlayer& AVAudioSession?或者哪个框架支持这种恢复功能?

4 个答案:

答案 0 :(得分:6)

播放声音后,停用AVAudioSession

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];

答案 1 :(得分:0)

您可以为所有音频通话创建课程。

或者如果您知道正在播放的内容,您可以将它们保存在一个阵列中并播放它们。

框架不允许你做你想做的事。

我建议为任何音频调用制作自己的包装类。

答案 2 :(得分:0)

我做了一些搜索,找到了this post

来自链接的答案:

  

<h3>'.get_the_title().'</h3>   每当您在应用程序中不需要音频会话时(即,当您没有输出任何声音时),您应该停用它。在有意义的地方,您应该使用此方法,以便通知任何背景音频并可以恢复(接收此通知的应用程序不一定必须恢复)。

我还没有确认它是否有效,但这是尝试的东西,我希望它有所帮助。

答案 3 :(得分:0)

@gabuh的答案,翻译为Swift:

try? AVAudioSession.sharedInstance().setActive(false, options: .notifyOthersOnDeactivation)