iOs ExtAudioFileCreateWithURL - 创建文件时出错 ('fmt?')

标签 ios core-audio

您好,我一直在尝试从下面的代码创建一个 wav 音频文件,但一直收到错误 Creating file ('fmt?')。有人可以帮我从这里出去吗 ?谢谢。

我的日志: *2012-11-01 13:33:14.183 Novocaine iOS 示例 [7456:c07] URL:file://localhost/Users/pier/Library/Application%20Support/iPhone%20Simulator/6.0/Applications/01EBF2C0-2C3A-490D -835E-9C39A3E88E0B/Documents/testrecording.wav

错误:创建文件('fmt?')*

- (id)initWithAudioFileURL:(NSURL *)urlToAudioFile samplingRate:(float)thisSamplingRate numChannels:(UInt32)thisNumChannels
{
self = [super init];
if (self)
{

    // Zero-out our timer, so we know we're not using our callback yet
    self.callbackTimer = nil;


    // Open a reference to the audio file
    self.audioFileURL = urlToAudioFile;
    CFURLRef audioFileRef = (CFURLRef)self.audioFileURL;

    AudioStreamBasicDescription outputFileDesc; 

    // Set a few defaults and presets
    self.samplingRate = thisSamplingRate;
    self.numChannels = thisNumChannels;
    self.currentTime = 0.0;
    self.latency = .011609977; // 512 samples / ( 44100 samples / sec ) default

    outputFileDesc.mSampleRate = self.samplingRate;
    outputFileDesc.mFormatID = kAudioFormatLinearPCM;
    outputFileDesc.mFormatFlags = kAudioFormatFlagIsFloat;
    outputFileDesc.mBytesPerPacket = 4*self.numChannels;
    outputFileDesc.mFramesPerPacket = 1;
    outputFileDesc.mBytesPerFrame = 4*self.numChannels;
    outputFileDesc.mChannelsPerFrame = self.numChannels;
    outputFileDesc.mBitsPerChannel = 32;

    CheckError(ExtAudioFileCreateWithURL(audioFileRef, kAudioFileWAVEType, &outputFileDesc, NULL, kAudioFileFlags_EraseFile, &_outputFile), "Creating file");

. . .

最佳答案

我不知道为什么,但我进行了以下更改并且成功了。 有人会认为 wav 文件的类型是 kAudioFileWAVType,不是吗?
有人愿意照亮这个吗?

outputFileDesc.mFormatFlags = kAudioFormatFlagIsBigEndian | kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; //changed


CheckError(ExtAudioFileCreateWithURL(audioFileRef, kAudioFileCAFType, &outputFileDesc, NULL, kAudioFileFlags_EraseFile, &_outputFile), "Creating file"); //changed

关于iOs ExtAudioFileCreateWithURL - 创建文件时出错 ('fmt?'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171563/

相关文章:

audio - 减少 AVCaptureSession 中的音频延迟/延迟?

iOS AudioUnit 控件 - kAudioUnitSubType_Delay

iphone - 操作系统状态错误 1718449215

ios - NaN 会导致这个核心音频 iOS 应用程序偶尔崩溃吗?

ios - UICollectionView 单元格中的 UIImageView 不显示

ios - 代码=-1011“请求失败: internal server error (500)

ios - Xcode 9.0.1 Interface Builder 100% CPU 开启 iOS Storyboard

ios - 单元格在 UITableView 中显示为空白

iphone - iPhone 上的二进制短信

swift - 如何设置 AVAudioEngine 输入和输出设备 (swift/macos)