当前位置: 首页 > 面试题库 >

在使用Swift的情况下,如何允许背景音乐继续播放,而我的应用仍在播放声音

公良文彬
2023-03-14
问题内容

我创建了一个应用程序,并试图允许用户在玩游戏时继续听他们的音乐,但是只要他们点击“播放”并且出现游戏中的声音,它将停止背景音乐。我正在使用Swift在iOS上进行开发。这是一段启动游戏内声音的代码

func playSpawnedDot() {
    var alertSound: NSURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("spawnDot", ofType: "mp3")!)!
    var error:NSError?
    audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
    audioPlayer.prepareToPlay()

    if volumeBool {
        audioPlayer.play()
    }
}

问题答案:

您需要AVAudioSession使用以下值之一设置类别:https
:
//developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/index.html(AVAudioSession类参考)。

默认值设置为AVAudioSessionCategorySoloAmbient。如您所见:

[…]使用此类别表示您的应用程序的音频是不可混合的-
激活您的会话将中断其他同样不可混合的音频会话。要允许混合,请改用AVAudioSessionCategoryAmbient类别。

在播放声音之前,您必须更改类别。为此:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)

您无需在每次播放声音时都拨打这些线路。 您可能只想做一次。



 类似资料:
  • 问题内容: 我想用Swift播放声音。 我的代码在Swift 1.0中可用,但现在在Swift 2或更高版本中不再起作用。 问题答案: 最可取的是,您可能想使用 AVFoundation。它提供了使用视听媒体的所有必要条件。 更新: 某些评论中建议与 Swift 2 , Swift 3 和 Swift 4 兼容。 斯威夫特2.3 迅捷3 Swift 4(与iOS 13兼容) 确保更改乐曲的名称以及

  • 我正在尝试在Frame窗口的背景中播放音频文件,我发现它比添加图片要复杂得多。 我找到了一个“教程”,应该如何添加音乐,它似乎相当简单,至少在所需的代码量方面。但是,我无法播放音频文件,它在说两件事…… 我试图播放一个我复制到我的java项目中的音频文件,它告诉我它找不到那个文件或目录。 第二-我给了这个方法一个音频文件的路径,它告诉我… 请记住,我很新,这个教程没有给很多帮助,所以我不知道这个游

  • 问题内容: 我想知道当在页面之间导航时,soundcloud如何无缝播放音乐。他们可能使用Ajax cuz导航时顶部栏似乎没有重新加载,但我看到URL发生了变化。有什么方法可以使用Ajax加载内容并将URL设置为另一个URL? 问题答案: HTML5引入了一个新的API,称为HTML5历史API。您可以在此处阅读有关使用它的信息– http://diveintohtml5.info/history

  • 本文向大家介绍C#播放背景音乐的方法小结,包括了C#播放背景音乐的方法小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了C#播放背景音乐的方法。分享给大家供大家参考。具体分析如下: 最经在写winform程序,其中有用到播放背景音乐 特此收集了一些网上的教程: 1、调用非托管的dll 2、播放系统自带声音 3、使用System.Media.SoundPlayer播放wav 4、使用MCI

  • 如何在外部媒体文件关闭后自动恢复音乐文件?

  • 问题内容: 我目前正在编写一些聊天程序,现在想通过客户端命令播放音乐,例如: 因此,链接将从发送歌曲的客户端发送到服务器。然后,服务器应 不 下载歌曲,而是将其流式传输到每个客户端(他们也不应下载)。问题是,我不知道如何通过基于TCP的连接流mp3。 我的问题是,是否有人可以向我提供我所需要的库/教程/思想/代码示例。 作为替代方案,直接从一个客户的计算机流式传输音乐也是可以的。如果我(作为客户端