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

相关内容

热门资讯

第六分钟辅助!hhpoker外... 第六分钟辅助!hhpoker外挂靠谱吗,aapoker安装包怎么使用,绝活儿教程(有挂细节)1、让任...
三分钟辅助!poker辅助器免... 三分钟辅助!poker辅助器免费安装,pokemmo手机版透视脚本,模块教程(有挂细节)亲,关键说明...
第九分钟辅助!sohoopok... 您好,wepoker透视脚本苹果版这款游戏可以开挂的,确实是有挂的,需要了解加去威信【4852750...
第四分钟辅助!破解辅助插件we... 第四分钟辅助!破解辅助插件wepoker,wepoker辅助分析器,项目教程(有挂分析)1、每一步都...
9分钟辅助!聚星ai辅助工具收... 9分钟辅助!聚星ai辅助工具收费多少,we poker插件,举措教程(确实有挂)聚星ai辅助工具收费...
第十分钟辅助!hhpoker是... 第十分钟辅助!hhpoker是真的吗,aapoker怎么控制牌,秘籍教程(有挂分析)1、aapoke...
4分钟辅助!wepokerpl... 4分钟辅助!wepokerplus透视脚本免费,wepoker私人局有透视吗,练习教程(有挂细节)1...
8分钟辅助!菠萝德普辅助器免费... 8分钟辅助!菠萝德普辅助器免费版在哪里,德普之星辅助软件,教材教程(有挂技巧)1、每一步都需要思考,...
三分钟辅助!wepoker俱乐... 三分钟辅助!wepoker俱乐部辅助器,佛手在线大菠萝辅助,模块教程(有挂透明挂)1、佛手在线大菠萝...
四分钟辅助!we-poker正... 四分钟辅助!we-poker正规吗,hhpoker是真的假的,总结教程(有挂规律)1、操作简单,无需...