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

相关内容

热门资讯

实测必看“福建天天开心辅助”哈... 自定义福建天天开心辅助系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管...
黑科技辅助挂!aapOKER透... 黑科技辅助挂!aapOKER透明挂辅助工具,(aapOker)原来真的是有挂,新版2025教程(有挂...
黑科技辅助挂!(wEpOke)... 黑科技辅助挂!(wEpOke)一贯存在有挂,(wePOke)原来是有挂,实用技巧(有挂辅助挂)weP...
查到实测“科乐游戏辅助脚本视频... 此外,数据分析德州(科乐游戏辅助脚本视频)辅助神器app还具备辅助透视行为开挂功能,通过对客户科乐游...
黑科技辅助挂!智星德州辅助器工... 黑科技辅助挂!智星德州辅助器工具,智星德州菠萝辅助器推荐,攻略教程(有挂透视)1、智星德州菠萝机器人...
热点推荐“欢聚水鱼科技辅助下载... 热点推荐“欢聚水鱼科技辅助下载”红龙poker辅助平台(本然真的有挂)是一款可以让一直输的玩家,快速...
黑科技辅助挂!(WPK)确实真... 黑科技辅助挂!(WPK)确实真的有挂,(wpK)一贯是有挂,德州论坛(有挂辅助器)1、每一步都需要思...
玩家必备科技“手游奇迹陕西辅助... 玩家必备科技“手游奇迹陕西辅助工具”wepoker辅助器是真的吗(一直是真的有挂)准备好在手游奇迹陕...
黑科技辅助挂!AaPOKER透... 黑科技辅助挂!AaPOKER透明挂有挂,(AAPOKEr)详细辅助安装教程(有挂总结);AAPOKE...
黑科技辅助挂!(wPK)确实是... 黑科技辅助挂!(wPK)确实是真的有挂,(微扑克)真是真的有挂,揭秘攻略(有挂总结)1、微扑克ai辅...