首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NSData转换为AVAudioPCMBuffer

将NSData转换为AVAudioPCMBuffer
EN

Stack Overflow用户
提问于 2021-12-06 18:30:05
回答 1查看 124关注 0票数 3

我有一个数据流,特别是来自一个MP3流。为了将其转换为AVAudioPCBBuffer,我创建了一个AVAudioFormat来对其进行如下描述:

代码语言:javascript
复制
AVAudioFormat* format = [[AVAudioFormat alloc] initWithStreamDescription:&description];

当打印格式时,输出是:

代码语言:javascript
复制
<AVAudioFormat 0x2818944b0:  2 ch,  48000 Hz, '.mp3' (0x00000000) 0 bits/channel, 0 bytes/packet, 1152 frames/packet, 0 bytes/frame>

现在,当我试图像这样初始化AVAudioPCMBuffer时:

代码语言:javascript
复制
AVAudioPCMBuffer* pcbBuffer = [[AVAudioPCMBuffer alloc] initWithPCMFormat:format frameCapacity:frameCount];

我有个例外:

代码语言:javascript
复制
required condition is false: isPCMFormat(fmt)

我做错了什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-06 21:32:54

您使用了错误的AVAudioBuffer子类。AVAudioPCMBuffer是用于未压缩的“脉冲编码调制”音频。你想要的是AVAudioCompressedBuffer

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

https://stackoverflow.com/questions/70250222

复制
相关文章

相似问题

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