草庐IT

ExtAudioFileWrite

全部标签

ios - Swift : Trying to convert MIDI to Audio File 中的 AudioUnitRender 和 ExtAudioFileWrite 错误 -50

我正在尝试在Swift中将MIDI文件转换为音频文件(.m4a)。现在我正在使用MIKMIDI作为排序和播放MIDI文件的工具,但是它不包括将播放保存到文件中的功能。MIKMID的创建者概述了执行此操作的过程here.为了捕获输出并将其保存到音频文件中,我遵循了thisexample尝试用Swift中的GeneralIO节点替换MIKMIDIGraph的RemoteIO节点。当我尝试使用AudioUnitRender和ExtAudioFileWrite将输出保存到文件时,它们都返回错误-50(kAudio_ParamError)。varchannels=2varbuffFrames=5

iphone - 使用适用于 iOS 的 ExtAudioFileWrite 将音频样本缓冲区写入 aac 文件

更新:我已经解决了这个问题并发布了我的解决方案作为我自己的问题的答案(如下)我正在尝试使用AAC格式的ExtAudioFileWrite将一个简单的音频样本缓冲区写入一个文件。我已经通过下面的代码实现了这一点,将单声道缓冲区写入.wav文件-但是,我无法对立体声或AAC文件执行此操作,而这正是我想要做的。这是我目前所拥有的...CFStringReffPath;fPath=CFStringCreateWithCString(kCFAllocatorDefault,"/path/to/my/audiofile/audiofile.wav",kCFStringEncodingMacRoma

iphone - ExtAudioFileWrite 到 m4a/aac 在双核设备(ipad 2、iphone 4s)上失败

我编写了一个循环,使用扩展音频文件服务将我的应用程序生成的pcm音频数据编码为aac。编码在后台线程中同步进行,而不是实时进行。对于ios4和5,编码在ipad1和iphone3gs/4上完美运行。但是,对于双核设备(iphone4s、ipad2),第三次调用ExtAudioFileWrite使编码线程崩溃,没有堆栈跟踪和没有错误代码。这里是有问题的代码:数据格式AudioStreamBasicDescriptionAUCanonicalASBD(Float64sampleRate,UInt32channel){AudioStreamBasicDescriptionaudioForma