您好,欢迎来到知库网。
搜索
您的当前位置:首页设置kExtAudioFileProperty报错问题处理

设置kExtAudioFileProperty报错问题处理

来源:知库网

设置kExtAudioFileProperty_ClientDataFormat报错时的处理

项目使用到ExtAudioConverter这样一个第三方库去将录音的mp3文件转成wav来做语音识别,但是后来莫名其妙在设置kExtAudioFileProperty时报错,原先的写法是这样,有兴趣可以去找这个库去看看:

ExtAudioFileSetProperty(settings.outputFile,kExtAudioFileProperty_ClientDataFormat,sizeof(desc), &settings.inputPCMFormat);

CheckError(ExtAudioFileSetProperty(settings.inputFile,

kExtAudioFileProperty_ClientDataFormat,

sizeof(settings.inputPCMFormat),

&settings.inputPCMFormat),

"Setting client data format of input file failed");

//If the file has a client data format, then the audio data in ioData is translated from the client format to the file data format, via theExtAudioFile's internal AudioConverter.

if(settings.outputFormat.mFormatID!=kAudioFormatMPEGLayer3) {

CheckError(ExtAudioFileSetProperty(settings.outputFile,

kExtAudioFileProperty_ClientDataFormat,

sizeof(settings.inputPCMFormat),

&settings.inputPCMFormat),

"Setting client data format of output file failed");

}

指定ExtAudioFile的编码器为软件编码器即可。如:

// 先设置编码器UInt32codec = kAppleSoftwareAudioCodecManufacturer;ExtAudioFileSetProperty(fileRef, kExtAudioFileProperty_CodecManufacturer,sizeof(codec), &codec);

//再设置格式AudioStreamBasicDescription desc;

ExtAudioFileSetProperty(fileRef, kExtAudioFileProperty_ClientDataFormat,sizeof(desc), &desc);

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务