小编Joh*_*hnD的帖子

iPhone扩展音频文件服务,mp3 - > PCM - > mp3

我想使用Core Audio扩展音频文件服务框架来读取mp3文件,将其作为PCM处理,然后将修改后的文件作为mp3文件写回.我能够将mp3文件转换为PCM,但无法将PCM文件作为mp3写回.

我已经关注并分析了Apple ExtAudioFileConvertTest示例,但也无法使其工作.失败点是我为输出文件设置客户端格式(设置为规范PCM类型).这失败了,错误"fmt?" 如果输出目标类型设置为mp3.

可以在iPhone上做mp3 - > PCM - > mp3吗?如果我删除失败的行,为输出文件设置kExtAudioFileProperty_ClientDataFormat,代码将失败并显示"pkd?" 当我稍后尝试写入输出文件时.所以基本上我有2个错误:

1)"fmt?" 尝试为输出文件设置kExtAudioFileProperty_ClientDataFormat时

2)"pkd?" 当试图写入输出文件时

以下是设置文件的代码:

NSURL *fileUrl = [NSURL fileURLWithPath:sourceFilePath];
OSStatus error = noErr;

//
// Open the file
//
error = ExtAudioFileOpenURL((CFURLRef)fileUrl, &sourceFile);

if(error){
    NSLog(@"AudioClip: Error opening file at %@.  Error code %d", sourceFilePath, error);
    return NO;
}

//
// Store the number of frames in the file
//
SInt64 numberOfFrames = 0;
UInt32 propSize = sizeof(SInt64);
error = ExtAudioFileGetProperty(sourceFile, kExtAudioFileProperty_FileLengthFrames, &propSize, &numberOfFrames);

if(error){
    NSLog(@"AudioClip: Error …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c core-audio

3
推荐指数
1
解决办法
5607
查看次数

标签 统计

core-audio ×1

iphone ×1

objective-c ×1