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

相关内容

热门资讯

六分钟讲究!微信三哥玩辅助器(... 六分钟讲究!微信三哥玩辅助器(辅助挂)果然真的有挂(专业教程开挂辅助神器);亲,微信三哥玩辅助器这款...
7分钟科普!微乐小程序辅助器出... 7分钟科普!微乐小程序辅助器出租(辅助挂)其实是有挂(透明挂教程开挂辅助插件);无需打开直接搜索加(...
四分钟明白!微信牵手跑辅助下载... 四分钟明白!微信牵手跑辅助下载(辅助挂)原来真的有挂(大神讲解开挂辅助软件)《详细加薇1367043...
9分钟详情!福建十三水软件开发... 9分钟详情!福建十三水软件开发(辅助挂)原来真的有挂(2026新版开挂辅助插件)>>您好:软件加13...
第五分钟讲解!微信小程序修改器... 微信小程序修改器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
9分钟了解!潮友会鱼虾蟹骰子概... 【亲,潮友会鱼虾蟹骰子概率计算公式 这款游戏可以开挂的,确实是有挂的,很多玩家在这款潮友会鱼虾蟹骰子...
第四分钟发现!心动休闲辅助(辅... 第四分钟发现!心动休闲辅助(辅助挂)其实是有挂的(透明挂教程开挂辅助插件) 了解更多开挂安装加(13...
9分钟透视!闲逸软件安卓(辅助... 大家好,今天小编来为大家解答闲逸软件安卓这个问题咨询软件客服可以免费测试直接加微信(13670430...
第四分钟辅助!对联猜猜看辅助器... 第四分钟辅助!对联猜猜看辅助器(辅助挂)原来有挂(必备教程开挂辅助软件)您好:对联猜猜看辅助器这款游...
第九分钟明白!广西友乐辅助软件... 【亲,广西友乐辅助软件 这款游戏可以开挂的,确实是有挂的,很多玩家在这款广西友乐辅助软件中打牌都会发...