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

相关内容

热门资讯

黑科技玄学(微扑克ai辅助神器... 黑科技玄学(微扑克ai辅助神器)外挂透明挂辅助技巧(透视)其实真的是有挂(黑科技教程);1、金币登录...
黑科技肯定(wepok软件透明... 黑科技肯定(wepok软件透明挂)外挂透视辅助教程(透视)其实真的有挂(黑科技辅助);进入游戏-大厅...
黑科技辅助挂(wepoke是真... 黑科技辅助挂(wepoke是真的有挂)外挂黑科技辅助插件(透视)切实真的是有挂(黑科技脚本);1、让...
黑科技线上(德州之星插件)外挂... 黑科技线上(德州之星插件)外挂黑科技辅助安装(透视)好像是有挂(黑科技技巧)1、进入游戏-大厅左侧-...
黑科技能赢(微扑克辅助软件)外... 黑科技能赢(微扑克辅助软件)外挂黑科技辅助软件(透视)原来存在有挂(黑科技插件)1、微扑克辅助软件系...
黑科技能赢(微扑克有辅助挂吗)... 黑科技能赢(微扑克有辅助挂吗)外挂透视辅助安装(透视)一直真的是有挂(黑科技脚本)1、游戏颠覆性的策...
黑科技脚本(德扑之星软件透明软... 黑科技脚本(德扑之星软件透明软件多少钱)外挂透明挂辅助助手(透视)本来真的是有挂(黑科技揭秘)1、德...
黑科技辅助(we辅助poker... 黑科技辅助(we辅助poker德之星)外挂黑科技辅助助手(透视)果然是真的有挂(黑科技攻略);1、玩...
黑科技ai(wpk提高胜率)外... 黑科技ai(wpk提高胜率)外挂黑科技辅助安装(透视)竟然真的是有挂(黑科技细节)1、玩家可以在wp...
黑科技科技(德扑之星有规律吗)... 黑科技科技(德扑之星有规律吗)外挂透明挂辅助教程(透视)真是真的是有挂(黑科技介绍)德扑之星有规律吗...