AVAudioEngine异常-必需的条件为falseformat.sampleRate==hwFormat.sampleRate
创始人
2024-11-12 21:00:41
0

这个异常通常是由于音频引擎与硬件不兼容的采样率所导致的。解决方法是在启动 AVAudioEngine 之前设置正确的采样率,以确保音频引擎和硬件的采样率一致。以下是一个示例代码:

let engine = AVAudioEngine()
let mixer = engine.mainMixerNode
let input = engine.inputNode

// 设置采样率
let desiredSampleRate: Double = 44100.0
let inputFormat = input.inputFormat(forBus: 0)
let outputFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: desiredSampleRate, channels: 1, interleaved: false)
if let inputFormat = inputFormat, let outputFormat = outputFormat, let converter = AVAudioConverter(from: inputFormat, to: outputFormat) {
    input.installTap(onBus: 0, bufferSize: 4096, format: inputFormat) { (buffer: AVAudioPCMBuffer, time: AVAudioTime) in
        let convertedBuffer = AVAudioPCMBuffer(pcmFormat: outputFormat, frameCapacity: AVAudioFrameCount(outputFormat.sampleRate * buffer.frameLength / inputFormat.sampleRate))!
        var error: NSError?
        let inputBlock: AVAudioConverterInputBlock = { (inNumPackets, outStatus) -> AVAudioBuffer? in
            outStatus.pointee = AVAudioConverterInputStatus.haveData
            return buffer
        }
        converter.convert(to: convertedBuffer, error: &error, withInputFrom: inputBlock)
        mixer.ensureFormat(outputFormat)
        mixer.installTap(onBus: 0, bufferSize: 4096, format: outputFormat) { (buffer: AVAudioPCMBuffer, time: AVAudioTime) in
            // 处理音频数据
        }
    }
}

try engine.start()

相关内容

热门资讯

技术分享!wepoker有没有... 技术分享!wepoker有没有插件(辅助挂)果然是真的有挂(有挂存在)暗藏猫腻,小编详细说明wepo...
玩家必知教程!wpk软件是正规... 玩家必知教程!wpk软件是正规的吗(辅助挂)都是存在有挂(有人有挂)1、金币登录送、破产送、升级送、...
六分钟了解!德普辅助app(辅... 六分钟了解!德普辅助app(辅助挂)总是有挂(有挂方略)1)德普辅助app辅助插件:进一步探索德普辅...
分享一款!wpk真的有透视嘛(... 分享一款!wpk真的有透视嘛(辅助挂)确实真的是有挂(有挂秘籍)wpk真的有透视嘛辅助器是一种具有地...
每日必看推荐!wepoker透... 每日必看推荐!wepoker透视脚本苹果版(辅助挂)竟然真的有挂(有挂分析)1、实时wepoker透...
分享给玩家!wepoker到底... 分享给玩家!wepoker到底有没有透视(辅助挂)原来有挂(有挂解密)1、wepoker到底有没有透...
实测教程!hhpoker开挂教... 实测教程!hhpoker开挂教程(辅助挂)果然真的有挂(有挂详细)1、首先打开hhpoker开挂教程...
科技通报!拱趴大菠萝挂怎么安装... 科技通报!拱趴大菠萝挂怎么安装(辅助挂)都是真的是有挂(今日头条)1)拱趴大菠萝挂怎么安装有没有挂:...
必看攻略!模拟器打开hhpok... 必看攻略!模拟器打开hhpoker(辅助挂)真是有挂(有挂实锤)必看攻略!模拟器打开hhpoker(...
教程攻略!大菠萝免费辅助器(辅... 教程攻略!大菠萝免费辅助器(辅助挂)竟然真的有挂(有挂分享)一、大菠萝免费辅助器游戏安装教程牌型概率...