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攻略,萍乡打滚筒多功能确实存在有作弊器攻略1、在萍乡打滚筒插件...
玩家必看秘籍透视挂!巴西透视挂... 玩家必看秘籍透视挂!巴西透视挂AI脚本,巴西多功能果然真的是有透视挂脚本1、进入游戏-大厅左侧-新手...
查到实测辅助外挂!易玩堂外挂A... 查到实测辅助外挂!易玩堂外挂AI教程,易玩堂多功能一贯真的是有外挂教程易玩堂辅助器是一种具有地方特色...
玩家必用透视挂!八闽状元郎透视... 玩家必用透视挂!八闽状元郎透视挂AI攻略,八闽状元郎多功能本来是真的有透视挂攻略八闽状元郎透视方法中...
科技通报辅助器!杜鹃花辅助器A... 科技通报辅助器!杜鹃花辅助器AI攻略,杜鹃花多功能切实是真的有辅助器攻略1、玩家可以在杜鹃花线上大神...
科技分享作弊器!老夫子互娱作弊... 科技分享作弊器!老夫子互娱作弊器AI软件,老夫子互娱多功能本来真的有作弊器软件;1、下载好老夫子互娱...
研究成果辅助器!八仙棋牌辅助器... 研究成果辅助器!八仙棋牌辅助器AI工具,八仙棋牌多功能果然有辅助器工具1、下载好八仙棋牌透视辅助下载...
科技新动态辅助!91y捕鱼辅助... 科技新动态辅助!91y捕鱼辅助AIapp,91y捕鱼多功能原来存在有辅助app1、让任何用户在无需9...
重磅来袭辅助!小牛棋牌辅助AI... 重磅来袭辅助!小牛棋牌辅助AI攻略,小牛棋牌多功能本来真的是有辅助攻略1、小牛棋牌有没有辅助教程、小...
重大推荐开挂!祺友互娱开挂AI... 重大推荐开挂!祺友互娱开挂AIapp,祺友互娱多功能原来是有开挂app1、实时祺友互娱透视辅助更新:...