首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kAudioFormat用于.aif音频文件转换?

kAudioFormat用于.aif音频文件转换?
EN

Stack Overflow用户
提问于 2014-02-18 13:59:46
回答 1查看 710关注 0票数 0

我想从AAC格式转换/保存音频文件到AIFF音频格式。默认情况下,我正在尝试使用LineraPCM。。但音频格式以AAC格式保存。。我想用AIFF格式保存音频文件。这是我的代码

NSDictionary *outputSettings = [NSDictionary dictionaryWithObjectsAndKeys: NSNumber numberWithInt:kAudioFormatLinearPCM,AVFormatIDKey,NSNumber numberWithFloat:44100.0,AVSampleRateKey,NSNumber numberWithInt:2,AVNumberOfChannelsKey,NSData dataWithBytes:&channelLayout length长度:sizeof(AudioChannelLayout),AVChannelLayoutKey,NSNumber numberWithInt:16,AVLinearPCMBitDepthKey,NSNumber numberWithBool:NO,AVLinearPCMIsNonInterleaved,NSNumber nil:NO,AVLinearPCMIsFloatKey,NSNumber numberWithBool:NO,AVLinearPCMIsBigEndianKey,nil];

是否有人可以建议使用kAudioFormat或音频设置来编写文件,使用AVAssetWriterInput将其保存为AIFF音频格式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-19 08:27:18

到目前为止,我已经和AVAssetWriter合作过了,但我认为它基本上是一种格式描述,就像使用ASBD的那样。

例如,为AIFF定义的AudioBasicStreamDescription示例如下:

aiffFormat.mSampleRate = sampleRate;aiffFormat.mFormatID = kAudioFormatLinearPCM;aiffFormat.mBytesPerPacket = 2;aiffFormat.mFramesPerPacket = 1;aiffFormat.mBytesPerFrame = 2;aiffFormat.mChannelsPerFrame = 2;/ for立体声aiffFormat.mBitsPerChannel = 16;aiffFormat.mFormatFlags = (kLinearPCMFormatFlagIsBigEndian溶胶kAudioFormatFlagIsPacked kLinearPCMFormatFlagIsSignedInteger);aiffFormat.mBitsPerChannel =sizeof(浮子)* 8;aiffFormat.mBytesPerFrame = aiffFormat.mChannelsPerFrame * sizeof(Float32);aiffFormat.mBytesPerFrame=Float32*;

在您的上述代码中,必须将大号设置为“是”。正如前面提到的,我从来没有使用过AVAssetWriter,所以我不确定需要设置哪些参数,或者不需要设置哪些参数,但是使用上面的示例流描述,运行应该不会太困难。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21856074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档