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、下载好闲逸游戏辅助软件下载正...
一直以来!agpoker辅助,... 一直以来!agpoker辅助,德普之星辅助工具如何设置,一直是有挂(有挂神器)1.德普之星辅助工具如...
玩家科普!wepoker辅助,... 玩家科普!wepoker辅助,宝宝游戏辅助,详细脚本(有挂功能)宝宝游戏辅助透视方法中分为三种模型:...
2026版教程!wpk作弊是真... 2026版教程!wpk作弊是真的吗,智星德州辅助译码插件靠谱吗,原来真的是有挂(有挂详情)智星德州辅...
必看攻略!川南休闲辅助,微信老... 必看攻略!川南休闲辅助,微信老友广东辅助,详细器(详细教程)微信老友广东辅助破解侠是真的助透视。每个...
今天下午!wepoker免费透... 今天下午!wepoker免费透视脚本,德普之星透视辅助软件是真的吗,真是是真的有挂(今日头条)德普之...
实测教程!微信小程序外辅助工具... 实测教程!微信小程序外辅助工具,网易亲友圈辅助,详细工具(有挂功能)1、这是跨平台的微信小程序外辅助...
现场直击!wepoker辅助器... 现场直击!wepoker辅助器如何使用,德扑之星透视,好像是真的有挂(有挂辅助)1、打开软件启动之后...
玩家必看科普!微乐小程序免费黑... 玩家必看科普!微乐小程序免费黑科技下载,欢乐茶馆挂,详细软件(了解有挂)小薇(辅助器软件下载)致您一...
据文件显示!wepoker透视... 据文件显示!wepoker透视app下载,德扑之星私人局透视,竟然真的有挂(有挂助手)1、点击下载安...