首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使AVAudioPCMBuffer工作(AVAudioFile.mm错误代码-50)

使AVAudioPCMBuffer工作(AVAudioFile.mm错误代码-50)
EN

Stack Overflow用户
提问于 2014-06-06 18:30:44
回答 1查看 2.7K关注 0票数 2

我正试图在Swift操场上建立一个基本的例子(下面的代码),但是我也尝试了使用Objective,结果也是一样的。

代码语言:javascript
复制
import AVFoundation

let fileURL = ... // have tried a wav file and a aiff file
let myAudioFile = AVAudioFile(forReading: fileURL, error: nil)
let myAudioFormat = myAudioFile.fileFormat
let myAudioFrameCount = UInt32(myAudioFile.length)
var myAudioBuffer = AVAudioPCMBuffer(PCMFormat: myAudioFormat, frameCapacity: myAudioFrameCount)
// have also tried a smaller frameCapacity

到目前为止,它工作得很好,但随后结束时如下:

代码语言:javascript
复制
var myError: NSError?
myAudioFile.readIntoBuffer(myAudioBuffer, error:&myError)

我也尝试用缓冲区命名这个参数:myAudioBuffer,但是这会产生一个“无关的参数”错误。

最终,我希望从缓冲区中取出原始PCM数据,作为一个Swift浮点数数组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 19:52:18

AVAudioPCMBufferPCMFormat必须被设置为AVAudioFile's .processingFormat而不是.fileFormat:我以为它们是一样的,但事实并非如此!

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

https://stackoverflow.com/questions/24088470

复制
相关文章

相似问题

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