首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开启/关闭背景音乐

开启/关闭背景音乐
EN

Stack Overflow用户
提问于 2016-01-14 23:17:32
回答 3查看 1.6K关注 0票数 3

要从应用程序Spotify或音乐应用程序启用背景音乐,我使用以下代码:

代码语言:javascript
复制
do
        {
            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
            try AVAudioSession.sharedInstance().setActive(true)
        }
        catch let error as NSError
        {
            print(error)
        }

但我如何才能逆转这一点,停止播放背景音乐呢?

EN

回答 3

Stack Overflow用户

发布于 2016-01-15 00:19:19

根据the documentation的说法,主要的播放音频会话类别为:

AVAudioSessionCategoryAmbient

当你使用此类别时,来自其他应用程序的音频会与你的音频混合。

AVAudioSessionCategorySoloAmbient

默认情况下,使用此类别意味着您的应用程序的音频是不可混合的-激活您的会话将中断任何其他音频会话,这些音频会话也是不可混合的。

AVAudioSessionCategoryPlayback

默认情况下,使用此类别意味着您的应用程序的音频是不可混合的-激活您的会话将中断任何其他音频会话,这些音频会话也是不可混合的。

因此,您故意选择了唯一不会使不可混合的背景音频静音的回放类别。如果您确实想要静音不可混合的背景音频,请选择其他类别之一。在任何时候更改类别都没有错。

票数 3
EN

Stack Overflow用户

发布于 2019-05-01 16:52:09

代码语言:javascript
复制
private func setIsAudioPlaysInBackground(isPlay: Bool) {
    if isPlay {
        try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.ambient)
    } else {
        try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback)
    }
    try? AVAudioSession.sharedInstance().setActive(true)
}
票数 0
EN

Stack Overflow用户

发布于 2016-01-14 23:44:03

你有没有试过这个代码?

代码语言:javascript
复制
AVAudioSession.sharedInstance().setActive(false)

我还没有测试过它,但我认为它会停止音乐。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34793076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档