gpt4 book ai didi

ios - 无法从 MTAudioProcessingTap 中的 AudioUnit 获取 AudioStreamBasicDescription

转载 作者:行者123 更新时间:2023-11-29 10:40:12 25 4
gpt4 key购买 nike

由于关于 MTAudioProcessingTap 的文档非常少(实际上几乎没有),我使用的是 Apple's demo app from WWDC 2012 .

我正在尝试在 MTAudioProcessingTap 中使用音频图表,因此我需要为需要特定 .但每次我尝试使用 AudioUnitGetProperty 获取 AudioUnit 的 ASBD 时,我都会收到 EXC_BAD_ADDRESS 错误。

这是导致 EXC_BAD_ACCESS 的相关代码。您可以通过下载 Apple 的应用程序并将其添加到 tap_PrepareCallback 来自己尝试

OSStatus 状态 = noErr;

AudioStreamBasicDescription testStream;
// Set audio unit input/output stream format to processing format.

if (noErr == status)
{
status = AudioUnitGetProperty(audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &testStream, sizeof(AudioStreamBasicDescription));
}

最佳答案

AudioUnitGetProperty 将一个指向 UInt32 的指针作为其大小参数,在您的示例代码中您给出了一个值。这是标题:

AudioUnitGetProperty(               AudioUnit               inUnit,
AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData,
UInt32 * ioDataSize)

你应该这样得到它:

AudioStreamBasicDescription testStream = {0};
UInt32 sizeTestStream = sizeof(AudioStreamBasicDescription);
OSStatus status = AudioUnitGetProperty(audioUnit,kAudioUnitProperty_StreamFormat,kAudioUnitScope_Input,0,&testStream,&sizeTestStream);
if(status){
//handle error
}

关于ios - 无法从 MTAudioProcessingTap 中的 AudioUnit 获取 AudioStreamBasicDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24921521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com