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

相关内容

热门资讯

重大通报!战神透视挂功能工具,... 重大通报!战神透视挂功能工具,战神果然是有透视挂工具(有辅助挂功能)运战神辅助工具,进入游戏界面。进...
一分钟秒懂!同城游牛鬼透视功能... 一分钟秒懂!同城游牛鬼透视功能app,同城游牛鬼其实真的有透视app(有辅助挂秘诀);1、同城游牛鬼...
最新技巧!俱乐部辅助器功能教程... 最新技巧!俱乐部辅助器功能教程,俱乐部真是存在有辅助器教程(有辅助挂细节)1、俱乐部破解器简单,俱乐...
必备攻略!闲来贵州麻将辅助器功... 必备攻略!闲来贵州麻将辅助器功能插件,闲来贵州麻将本来是真的有辅助器插件(有辅助挂技术)1、在闲来贵...
终于懂了!淘讯大厅开挂功能技巧... 终于懂了!淘讯大厅开挂功能技巧,淘讯大厅本来真的有开挂技巧(有辅助挂细节)1)淘讯大厅辅助插件:进一...
玩家必看秘籍!微乐河南麻将辅助... 玩家必看秘籍!微乐河南麻将辅助器功能技巧,微乐河南麻将好像存在有辅助器技巧(有辅助挂辅助);一、微乐...
记者爆料!红拐弯开挂功能教程,... 记者爆料!红拐弯开挂功能教程,红拐弯总是真的有开挂教程(有辅助挂细节)1、红拐弯透视辅助软件激活码多...
重大来袭!真人面对面牛牛透视功... 重大来袭!真人面对面牛牛透视功能教程,真人面对面牛牛好像存在有透视教程(有挂辅方法)1、在真人面对面...
一分钟了解!友乐广西麻将透视功... 一分钟了解!友乐广西麻将透视功能教程,友乐广西麻将果然有透视教程(有挂辅方法)1、友乐广西麻将公共底...
必备科技!飞驰娱乐辅助功能ap... 必备科技!飞驰娱乐辅助功能app,飞驰娱乐切实是有辅助app(有辅助挂方针)1、飞驰娱乐脚本辅助下载...