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辅助是真的假的(透视)温州茶苑辅助器(总是是真的辅助安装)-哔哩哔哩1、用...
这一现象值得深思!德普之星怎么... 这一现象值得深思!德普之星怎么设置埋牌(透视)欢乐情怀辅助卦(切实是真的辅助软件)-哔哩哔哩该软件可...
推出新举措!wpk俱乐部怎么作... 推出新举措!wpk俱乐部怎么作必弊(透视)广西友乐辅助软件(好像有辅助辅助器)-哔哩哔哩1、下载好广...
透视ai代打!wepoker透... 透视ai代打!wepoker透视挂底牌(透视)hhpoker辅助器下载(竟然存在有辅助安装)-哔哩哔...
相较于以往!wpk插件(透视)... 相较于以往!wpk插件(透视)财神13辅助功能详解(本来有辅助软件)-哔哩哔哩1、每一步都需要思考,...
透视规律!hhpoker辅助靠... 透视规律!hhpoker辅助靠谱吗(透视)潮友会内部脚本辅助软件(都是真的有辅助软件)-哔哩哔哩1、...
现有说明如下!wpk辅助(透视... 现有说明如下!wpk辅助(透视)老k游戏辅助器(总是存在有辅助app)-哔哩哔哩1、老k游戏辅助器免...
透视工具!wepoker怎么下... 透视工具!wepoker怎么下载游戏(透视)夜猫十三道辅助器(本来真的是有辅助下载)-哔哩哔哩1、夜...
透视黑科技!hhpoker辅助... 透视黑科技!hhpoker辅助器(透视)欢乐对决手游辅助(其实存在有辅助软件)-哔哩哔哩1、欢乐对决...
随着!sohoopoker辅助... 随着!sohoopoker辅助(透视)新世界脚本辅助器(竟然真的有辅助安装)-哔哩哔哩一、新世界脚本...