如何让背景音乐继续播放?
How to let background music continue?
我想允许玩家在我的游戏中使用他们的音乐,所以我想知道如何检测玩家是否正在播放他的音乐库中的音乐,这样我可以让他的音乐继续播放,如果没有让我的背景音乐播放。
我使用此代码在 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)
}
我想允许玩家在我的游戏中使用他们的音乐,所以我想知道如何检测玩家是否正在播放他的音乐库中的音乐,这样我可以让他的音乐继续播放,如果没有让我的背景音乐播放。
我使用此代码在 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)
}