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

相关内容

热门资讯

总结透视!wepoker有用吗... 总结透视!wepoker有用吗,wepoker轻量版书签,确实存在有辅助神器(哔哩哔哩)1、辅助软件...
普及透视!wepoker私人局... 普及透视!wepoker私人局俱乐部辅助,wepoker黑侠辅助器,都是存在有辅助软件(哔哩哔哩)在...
推荐透视!德普之星透视,德普之... 推荐透视!德普之星透视,德普之星有透视辅助吗,切实有辅助脚本(哔哩哔哩)1、操作简单,无需手机版透视...
教你透视!aapoker透视脚... 教你透视!aapoker透视脚本,aapoker插件下载,好像一直总是有辅助攻略(哔哩哔哩)1、辅助...
关于透视!wpk透视辅助靠谱吗... 关于透视!wpk透视辅助靠谱吗,wpk透视是真的吗,切实是有辅助攻略(哔哩哔哩)所有人都在同一条线上...
普及透视!aapoker俱乐部... 普及透视!aapoker俱乐部靠谱吗,aapoker俱乐部靠谱吗,真是真的是有辅助方法(哔哩哔哩)1...
科普透视!hhpoker脚本下... 科普透视!hhpoker脚本下载,hhpoker辅助软件,总是真的是有辅助脚本(哔哩哔哩)该软件可以...
解迷透视!hhpkoer辅助挂... 解迷透视!hhpkoer辅助挂是真的吗,hhpoker可以控制牌吗,一直真的有辅助脚本(哔哩哔哩)1...
科普透视!hhpoker怎么开... 科普透视!hhpoker怎么开透视,hhpoker脚本下载,原来一直都是有辅助工具(哔哩哔哩)运辅助...
必备透视!hhpoker辅助挂... 必备透视!hhpoker辅助挂,hhpoker买挂,其实存在有辅助教程(哔哩哔哩)1、下载好正确养号...