2015-08-25 171 views
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() 

的問題是,當我試圖從音樂庫播放音樂聲停止,它讓我的應用程序播放音樂而不是音樂庫。

回答

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

謝謝你爲後臺音樂工作,但是當我在我的遊戲中使用音效時背景音樂被削減我使用相同的代碼在我的遊戲中播放聲音效果還有另一種播放背景音樂時播放音效的方式嗎? – Michel

+0

我無法正確識別您 – Rajat

+0

您想在應用程序處於後臺時播放音樂嗎? – Rajat