【发布时间】:2012-01-29 07:29:36
【问题描述】:
我在编写音频文件的元数据时遇到了困难:
AudioFileID fileID = nil;
AudioFileOpenURL((__bridge CFURLRef) url, kAudioFileReadWritePermission, 0, &fileID );
CFDictionaryRef piDict = nil;
UInt32 piDataSize = sizeof(piDict);
AudioFileGetProperty( fileID, kAudioFilePropertyInfoDictionary, &piDataSize, &piDict );
NSLog(@"%@", (__bridge NSDictionary *)piDict);
NSMutableDictionary *dict = (__bridge NSMutableDictionary*)piDict;
[dict setObject:@"NEW ALBUM NAME" forKey:@"album"];
piDict = (__bridge CFDictionaryRef)dict;
piDataSize = sizeof(dict);
OSStatus status = AudioFileSetProperty(fileID, kAudioFilePropertyInfoDictionary, piDataSize, &piDict);
第 6 行的 NSLog 为我提供了一个很好的字典,其中包含 ID3 信息。 但是当我想改变(例如专辑名称,第 9 行)时,我得到一个 OSStatus 'pty?'作为回报。
谁能给我指点我做错了什么。 或者甚至可能是一种更好/更简单/更快的方式来编辑音频文件的 ID3 标签/元数据。
【问题讨论】: