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重新启动时,之前的声音将会被清除,并且不会跳过声音。

相关内容

热门资讯

wepoke有app软件吗,w... 您好,wpkai辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这...
智星德州辅助器,wepoke透... 智星德州辅助器,wepoke透明挂哪里有,智星德州菠萝辅助工具;小薇(透视辅助)致您一封信;亲爱we...
wepoke透明挂在哪买,wp... wepoke透明挂在哪买,wpk辅助插件,智星德州菠萝辅助器推荐您好,wpk辅助插件,确实是有挂的,...
德扑ai智能机器人,wepok... 您好,wepoke是不是有辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很...
智星德州菠萝开挂,wepoke... 智星德州菠萝开挂,wepoke辅助插件,智星菠萝德州辅助;人气非常高,ai更新快且高清可以动的一个w...
aapoker辅助器是真的吗,... aapoker辅助器是真的吗,wpk有辅助挂吗,智星德州菠萝辅助是一款可以让一直输的玩家,快速成为一...
德扑之星ai代打,wpk到底有... 德扑之星ai代打,wpk到底有没有外挂,智星德州菠萝有挂吗是一款可以让一直输的玩家,快速成为一个“必...
wepokeai代打辅助,微扑... 自定义微扑克ai会被检测到吗系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器...
wepoke透明挂辅助,wep... 1、wepoke透明挂辅助,wepoke软件透明演示,智星菠萝德州有挂吗;代表性(透视辅助软件透明挂...
aapoker辅助使用教程,微... aapoker辅助使用教程,微扑克辅助工具,智星德州菠萝怎么看有没有开挂(1)aapoker辅助使用...