【问题标题】:How to let background music continue?如何让背景音乐继续播放?
【发布时间】:2015-08-25 15:57:29
【问题描述】:

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

我使用此代码在我的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()

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

【问题讨论】:

    标签: ios swift audio xcode7-beta5


    【解决方案1】:

    像这样检查音乐是否在后台播放

    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)
    } 
    

    【讨论】:

    • 谢谢它为背景音乐工作,但是当我在我的游戏中使用音效时,背景音乐被剪切了我使用相同的代码在我的游戏中播放音效是否有另一种播放音效的方式播放背景音乐时?
    • 我没有正确理解你
    • 您想在应用处于后台时播放音乐。
    • 对不起,解释不好我的意思是我的游戏是关于当用户触摸方块时粉碎方块,它会爆炸,播放声音时会播放 1 秒钟的音效,背景音乐会关闭
    • 在“AVAudioPlayer”上注册一个通知,该通知将在您的声音停止时触发。在该通知的目标中放置“MPMusicPlayerController.systemMusicPlayer().play()”,它将恢复背景音乐。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多