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到底可以作弊吗,hhpoker真的假的,原来真的是有挂(有挂解惑)1、最强版hh...
明白辅助挂!hhpoker德州... 明白辅助挂!hhpoker德州透视,德扑之星私人局辅助免费,其实确实有挂(有挂分享)1、让任何用户在...
最强版wpk控制牌是真的吗,w... 最强版wpk控制牌是真的吗,wepoker买钻石有用吗,都是真的有挂(有挂辅助)运辅助工具,进入游戏...
突发!wepoker私人局有透... 突发!wepoker私人局有透视吗,智星菠萝辅助,真是存在有挂(有挂总结)在进入智星菠萝辅助软件靠谱...
据了解!wepoker轻量版透... 据了解!wepoker轻量版透视系统,智星菠萝辅助,总是存在有挂(有挂方法)1、操作简单,无需智星菠...
推出新举措!epoker透视,... 推出新举措!epoker透视,德普辅助app,真是是真的有挂(有挂分析)在进入德普辅助app软件靠谱...
目前来看!wepoker怎么破... 目前来看!wepoker怎么破解游戏,德普之星私人局辅助免费,确实真的有挂(了解有挂)1、德普之星私...
最强版werplan外卦神器,... 最强版werplan外卦神器,we poker辅助器下载,好像存在有挂(有挂细节)1、许多玩家不知道...
第三方插件!哈糖大菠萝辅助器,... 第三方插件!哈糖大菠萝辅助器,德普之星透视辅助软件下载,真是真的有挂(有挂规律)1、操作简单,无需德...
最强版pokerrrr2辅助,... 最强版pokerrrr2辅助,德普之星透视辅助软件,真是是真的有挂(有挂解密)进入游戏-大厅左侧-新...