2

プレーヤーが自分の音楽をゲームで使用できるようにしたいので、プレーヤーが自分の音楽ライブラリから音楽を再生しているかどうかを検出して、プレーヤーの音楽を引き続き再生し、そうでない場合はバックグラウンドで音楽を再生できるようにする方法を知りたい.

このコードを使用して、で音楽を再生します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()

問題は、ミュージック ライブラリから音楽を再生しようとすると、サウンドが停止し、アプリがミュージック ライブラリの代わりに音楽を再生できることです。

4

1 に答える 1

2

このようにバックグラウンドで音楽が再生されているかどうかを確認します

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)
} 
于 2015-08-25T16:19:38.873 に答える