【发布时间】:2020-12-10 17:57:37
【问题描述】:
我正在尝试为附加到 ARKit 场景中节点的位置音频实现播放/暂停按钮。我希望用户能够暂停音频,然后稍后从暂停点恢复。所以removeAudioPlayer() 不好,因为这会在重新连接时将音频重置为开始。
我能找到的唯一与 SCNAudioPlayers 相关的暂停方法深埋在:
myAudioPlayer.audioNode?.engine?.pause()
但这似乎没有任何效果。奇怪
myAudioPlayer.audioNode?.engine?.stop()
确实停止播放音频,但之后您将无法再次启动它!
我创建audioPlayer的代码如下:
audioSource = SCNAudioSource(fileNamed: "audio.caf")!
audioSource.loops = false
audioSource.isPositional = true
audioSource.shouldStream = false
audioSource.load()
// then a bit later...
audioPlayer = SCNAudioPlayer(source: audioSource)
myARNode.addAudioPlayer(audioPlayer)
请注意,不需要“播放”方法。只要将音频附加到节点,音频就会开始播放。并且缺少直接的 play() 和 pause() 方法作为 SCNAudioPlayer 的顶级属性,这让我想知道这是否可能。然而,这似乎有点疯狂,因为这是处理音频的一个非常基本的方面。
有谁知道这是否可以做到?
提前致谢。
【问题讨论】:
标签: ios swift arkit audio-player scnaudioplayer