AVAudioSequencer播放AVAudioUnitSampler会截断MIDI音符的尾端
创始人
2024-11-12 22:00:16
0

这个问题是由于默认的AVAudioEngine的渲染时间不足以将MIDI音符的尾端完整地播放。要解决这个问题,可以通过在渲染前增加几个断点来扩大渲染范围。这可以通过修改AVAudioEngine的connect方法来实现:

func connect(sourceNode: AVAudioNode, to destNode: AVAudioNode, format: AVAudioFormat? = nil, block: AVAudioNodeCompletionHandler? = nil) {
    let range = AVAudioTimeRange(start: AVAudioTime(sampleTime: 0, atRate: destNode.sampleRate), duration: AVAudioFrameCount(destNode.sampleRate * 3))
    engine.connect(sourceNode, to: destNode, format: format, block: block)
    engine.mainMixerNode.scheduleBuffer(nil, at: nil, options: AVAudioPlayerNodeBufferOptions(rawValue: 0), completionCallbackType: .dataRendered, completionHandler: nil, time: range.start, duration: range.duration)
}

在这个方法中,我们增加了一个范围,使得渲染时间扩大了3秒钟。这个范围可以被调整,根据你的实际需要来改变。

将所有的连接方法都替换为上面的connect方法就可以解决这个问题了。

相关内容

热门资讯

专业讨论!wepoker辅助器... 专业讨论!wepoker辅助器,大菠萝辅助器,竟然存在有挂(的确有挂)1、每一步都需要思考,不同水平...
针对!智星德州插件2024最新... 针对!智星德州插件2024最新版,德普之星辅助工具如何打开,一贯存在有挂(有挂细节)1、金币登录送、...
黑科技辅助挂!wepoker分... 黑科技辅助挂!wepoker分析,德普之星app安卓版破解版,真是确实有挂(有挂工具);1、这是跨平...
玩家必备教程!wepoker好... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游戏中打...
记者获悉!pokemmo手机版... 记者获悉!pokemmo手机版透视脚本,智星德州辅助译码插件靠谱吗,果然是真的有挂(有挂功能)1、这...
终于知道!wepoker怎么买... 终于知道!wepoker怎么买辅助,wepokerh5破解,原来是真的有挂(有挂透视)1、玩家可以在...
黑科技代打!aapoker透视... 黑科技代打!aapoker透视方法,德扑之星透视辅助插件,总是存在有挂(有挂规律)一、德扑之星透视辅...
一分钟揭秘!wepoker辅助... 一分钟揭秘!wepoker辅助器,wepoker怎么拿到好牌,果然是有挂(有挂细节)1、wepoke...
这一问题亟待解决!pokemm... 这一问题亟待解决!pokemmo辅助器,德普辅助软件,都是是真的有挂(有挂助手)1、用户打开应用后不...
今日百科!wpk作弊,wepo... 今日百科!wpk作弊,wepoker祈福有用吗,好像是有挂(有挂总结)小薇(辅助器软件下载)致您一封...