首页 > 解决方案 > 如何在 SwiftUI 中的特定时间循环播放背景音乐

问题描述

是否可以循环播放背景歌曲但在歌曲循环下一次迭代时跳过前 30 秒?因此,在第一次运行期间,会播放整首歌曲,但从第二次循环开始,循环会跳过歌曲的前 30 秒。这是一个游戏,前 30 秒只是为了让用户兴奋,但下面的循环只是因果背景音乐。目前我在stackoverflow上找到了:

var AudioPlayer = AVAudioPlayer()

        let AssortedMusics = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("backgroundMusic", ofType: "mp3")!)
        AudioPlayer = try! AVAudioPlayer(contentsOfURL: AssortedMusics)
        AudioPlayer.prepareToPlay()
        AudioPlayer.numberOfLoops = -1
        AudioPlayer.play()

对于 SwiftUI,我猜想将其放入一个函数中,并在游戏开始时在 onAppear() 中运行它。但是我怎么能只在第一个循环中播放歌曲的开头呢?

标签: swiftxcodeswiftui

解决方案


只需第一次播放,然后循环播放

'AudioPlayer.currentTime += 30'

推荐阅读