SKVideoNode 停止 SKAudioNode 播放
SKVideoNode stoping an SKAudioNode from playing
我正在尝试将背景视频和背景音乐添加到我正在创建的游戏中。为此,我创建了一个 SKVideoNode 和一个 SKAudioNode。当我 运行 游戏时,视频播放正常,但大多数时候音乐不播放。如果未创建 SKVideoNode,它工作得很好。我也尝试为音乐创建一个 AVAudioPlayer,但这使得音乐播放的时间更少。我还尝试更改元素呈现的顺序,但也没有做任何事情。有谁知道发生了什么事吗?
override func didMove(to view: SKView) {
let bgMusic:SKAudioNode = SKAudioNode(fileNamed: "Gamemusic.m4a")
bgMusic.autoplayLooped = true
self.addChild(bgMusic)
playVideo()
}
func playVideo() {
let videoNode = SKVideoNode(fileNamed: "Background.mov")
videoNode.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
videoNode.size = CGSize(width: self.frame.size.width, height: self.frame.size.height)
self.addChild(videoNode)
videoNode.play()
}
使用
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
在后台播放音频。基本上这是在告诉您的应用它播放的音频不是主要音频,因此可以在其上播放其他音频。要了解更多信息,请查看 https://developer.apple.com/documentation/avfoundation/avaudiosession
我正在尝试将背景视频和背景音乐添加到我正在创建的游戏中。为此,我创建了一个 SKVideoNode 和一个 SKAudioNode。当我 运行 游戏时,视频播放正常,但大多数时候音乐不播放。如果未创建 SKVideoNode,它工作得很好。我也尝试为音乐创建一个 AVAudioPlayer,但这使得音乐播放的时间更少。我还尝试更改元素呈现的顺序,但也没有做任何事情。有谁知道发生了什么事吗?
override func didMove(to view: SKView) {
let bgMusic:SKAudioNode = SKAudioNode(fileNamed: "Gamemusic.m4a")
bgMusic.autoplayLooped = true
self.addChild(bgMusic)
playVideo()
}
func playVideo() {
let videoNode = SKVideoNode(fileNamed: "Background.mov")
videoNode.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
videoNode.size = CGSize(width: self.frame.size.width, height: self.frame.size.height)
self.addChild(videoNode)
videoNode.play()
}
使用
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
在后台播放音频。基本上这是在告诉您的应用它播放的音频不是主要音频,因此可以在其上播放其他音频。要了解更多信息,请查看 https://developer.apple.com/documentation/avfoundation/avaudiosession