AVAudioPlayerNode 在停止和重新启动时跳过了很多声音。
创始人
2024-11-12 21:30:21
0

当AVAudioPlayerNode停止和重新启动时跳过声音的问题通常是由于调用了scheduleBuffer方法多次导致的。为了解决这个问题,我们可以使用以下方法:

  1. 定义一个布尔变量isPlaying来跟踪音频播放状态。
var isPlaying = false
  1. 在启动音频播放之前,检查isPlaying变量的值,如果为true则返回。
if isPlaying {
    return
}
  1. 在开始播放之前,先停止播放器。
playerNode.stop()
  1. 使用scheduleBuffer方法播放音频。
let audioFile = try! AVAudioFile(forReading: url)
let audioBuffer = AVAudioPCMBuffer(pcmFormat: audioFile.processingFormat, frameCapacity: AVAudioFrameCount(audioFile.length))
try! audioFile.read(into: audioBuffer)
playerNode.scheduleBuffer(audioBuffer, completionHandler: nil)
  1. 在播放音频后将isPlaying变量设置为true。
isPlaying = true
  1. 在停止音频播放时将isPlaying变量设置为false,并停止播放器。
isPlaying = false
playerNode.stop()

这样,当AVAudioPlayerNode重新启动时,之前的声音将会被清除,并且不会跳过声音。

相关内容

热门资讯

透视真的(德扑之星辅助器购买)... 透视真的(德扑之星辅助器购买)德扑之星app发牌规律(详细辅助解密教程)本然有挂;小薇(透视辅助)致...
wepoke辅助机器人!wep... 1、wepoke辅助机器人!wepoke美元局稳么,(德州ai)本然存在有挂(详细辅助细节方法)2、...
aa扑克辅助!德州wpk,(W... aa扑克辅助!德州wpk,(WepOke)一向是真的有挂(详细透视技巧教程);超受欢迎的aa扑克辅助...
透视挂透视(wepoke真的有... 透视挂透视(wepoke真的有挂)德扑赔率胜率计算(详细辅助新2025版)确实是真的有挂1、打开德州...
透视存在(wpk提高胜率)微扑... 透视存在(wpk提高胜率)微扑克模拟器是什么(详细辅助辅助教程)素来有挂1、ai机器人多个强度级别选...
微扑克辅助器ios!wpk微扑... 《微扑克辅助器ios软件透明挂》是一款多人竞技的微扑克辅助器ios辅助透视游戏,你将微扑克对手来到同...
透视安卓版(德州ai机器人)g... 透视安卓版(德州ai机器人)gg扑克发牌系统(详细辅助细节揭秘)本然是有挂;小薇(透视辅助)致您一封...
wpk有外挂!nzt德州辅助软... wpk有外挂!nzt德州辅助软件,(wePokE)从来存在有挂(详细辅助曝光教程)这是由厦门游乐互动...
透视代打(aapoker有外挂... 透视代打(aapoker有外挂)wpk有透视外挂吗(详细辅助切实教程)一贯有挂是一款可以让一直输的玩...
aapoker外挂!德州之星a... aapoker外挂!德州之星app辅助器,(aapOker)往昔真的有挂(详细透视技巧教程);一、a...