gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 00:24:37 24 4
gpt4 key购买 nike

我正在尝试在 Swift Playground (下面的代码)中设置一个基本示例,但我也尝试过使用 Objective-C,结果相同。

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

到目前为止它工作正常,但随后终止:

var myError: NSError?
myAudioFile.readIntoBuffer(myAudioBuffer, error:&myError)

我也曾尝试使用 buffer:myAudioBuffer 命名参数,但这会产生“无关参数”错误。

最终,我想从缓冲区中取出原始 PCM 数据作为 Swift float 组。

最佳答案

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

关于objective-c - 使 AVAudioPCMBuffer 工作(AVAudioFile.mm 错误代码 -50),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24088470/

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