ios - 如何让背景音乐继续播放?

标签 ios swift audio xcode7-beta5

我想允许玩家在我的游戏中使用他们的音乐,所以我想知道如何检测玩家是否正在播放他的音乐库中的音乐,以便我可以让他的音乐继续播放,如果不播放我的音乐在后台。

我使用此代码在我的 GameViewController 中播放音乐:

let bgMusicURL: NSURL = NSBundle.mainBundle().URLForResource("Squart-GameMusic", withExtension: "wav")!

do {
    Data.GameMusic = try AVAudioPlayer(contentsOfURL: bgMusicURL, fileTypeHint: nil)
} catch {
    return print("no music file")
}

Data.GameMusic.numberOfLoops = 1
Data.GameMusic.prepareToPlay()
Data.GameMusic.play()

问题是,当我尝试播放音乐库中的音乐时,声音停止,它让我的应用播放音乐而不是音乐库。

最佳答案

检查音乐是否在后台播放,如下所示

if MPMusicPlayerController.systemMusicPlayer().playbackState == .Playing {
    print("Music is playing")
} else {
    print("Play your music")
}

不要忘记导入:

import MediaPlayer

如果您想同时播放声音,请使用此代码播放声音文件

func playSound {
    var soundID: SystemSoundID = 0
    let soundURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), "myFileName", "mp3", nil)
    AudioServicesCreateSystemSoundID(soundURL, &soundID)
    AudioServicesPlaySystemSound(soundID)
} 

关于ios - 如何让背景音乐继续播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32208674/

相关文章:

ios - REST API iOS 开发

swift - 在 Swift 中实现 Failable Initializer 时,为什么要使用 `init!` 而不是 `init?`?

ios - 如何在 SwiftUI 中将 View 的中间与其他 View 的底部对齐?

variables - swift 闭包作为变量存储和访问

ios - GPU图像过滤器在iOS中禁用音频

ios - iPad 横向显示纵向框架和边界

ios - 部署 QML 外部模块到 IOS

ios - 使用 SLPagingViewSwift 和 Storyboard展开可选值时意外发现 nil

javascript - Web 浏览器中的高质量音频录制

java - 在声音阵列中随机播放单词对