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

相关内容

热门资讯

一分钟了解!悠闲川南游戏辅助!... 一分钟了解!悠闲川南游戏辅助!其实是真的有辅助工具(真的有挂)-哔哩哔哩1、一分钟了解!悠闲川南游戏...
第一分钟了解!微信小程序怎么挂... 第一分钟了解!微信小程序怎么挂脚本!果然一直都是有辅助app(有挂技巧)-哔哩哔哩1、微信小程序怎么...
第5分钟了解!开心游戏辅助器!... 第5分钟了解!开心游戏辅助器!竟然一直都是有辅助脚本(有挂方法)-哔哩哔哩开心游戏辅助器能透视中分为...
第六分钟了解!菠萝神器辅助工具... 第六分钟了解!菠萝神器辅助工具!总是是真的有辅助攻略(确实有挂)-哔哩哔哩1、超多福利:超高返利,海...
第6分钟了解!新天道大厅辅助!... 第6分钟了解!新天道大厅辅助!都是一直总是有辅助技巧(有挂技巧)-哔哩哔哩运新天道大厅辅助辅助工具,...
第1分钟了解!老夫子拼十辅助!... 第1分钟了解!老夫子拼十辅助!一直是有辅助神器(有挂技术)-哔哩哔哩老夫子拼十辅助破解侠是真的助透视...
第九分钟了解!三江互娱辅助!真... 第九分钟了解!三江互娱辅助!真是存在有辅助软件(有挂助手)-哔哩哔哩1、三江互娱辅助免费脚本咨询教程...
第6分钟了解!九天大厅挂价格!... 第6分钟了解!九天大厅挂价格!其实是有辅助方法(确实有挂)-哔哩哔哩1、九天大厅挂价格辅助器安装包、...
三分钟了解!手机挂机软件!其实... 三分钟了解!手机挂机软件!其实一直都是有辅助app(讲解有挂)-哔哩哔哩手机挂机软件透视方法中分为三...
5分钟了解!白金岛放炮罚开挂!... 5分钟了解!白金岛放炮罚开挂!一贯存在有辅助教程(真实有挂)-哔哩哔哩白金岛放炮罚开挂透视方法中分为...