![](/img/trans.png)
[英]How can I allow background music to continue playing while my app still plays its sounds while using Swift
[英]How can I continuously play background music while switching to different views using swift?
總的來說,我對Swift和編碼是相當陌生的。 我現在正在制作游戲,並且添加了一些背景音樂,並且一切正常。 我什至想出了當切換到不同的視圖時如何使音樂連續播放,但是每次我回到“主菜單”視圖時,我都告訴游戲開始播放背景音樂,然后重新開始播放。 我要它做的是在用戶啟動應用程序時開始播放,並一直循環播放直到用戶關閉應用程序。 我使用以下代碼來啟動背景音樂:
var backgroundMusicPlayer: AVAudioPlayer!
func playBackgroundMusic(filename:String){讓url = NSBundle.mainBundle()。URLForResource(filename,withExtension:nil)if(url == nil){println(“找不到文件:(filename)”)return}
var error: NSError? = nil
backgroundMusicPlayer =
AVAudioPlayer(contentsOfURL: url, error: &error)
if backgroundMusicPlayer == nil {
println("Could not create audio player: \(error!)")
return
}
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
}
然后將這段代碼放到Home View Controller中(這是打開應用程序時人們看到的第一個屏幕)
var player = AVAudioPlayer()
if player.playing {
player.play()
} else {
playBackgroundMusic("BackgroundMusic.m4a")
}
現在我要說的是:如果音樂正在播放,它將繼續播放,否則,它將再次開始播放音樂。 但是現在,即使音樂是在我所來自的視圖上播放,它也會再次開始播放音樂。 我在其他2個視圖中使用了這段代碼,使得音樂可以連續播放,並且效果很好:
func resumeBackgroundMusic() {
if let player = backgroundMusicPlayer {
if !player.playing {
player.play()
}
}
}
您可以從AppDelegate啟動和停止音樂...最好的方法是創建MusicPlayer類,在AppDelegate中實例化它,然后在其中調用start和stop方法...
您是否有足夠的經驗來編寫類似的東西?
還是我應該幫你?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.