bas*_*svk 5 iphone audio id3 ios
我在编写音频文件的元数据时遇到了困难:
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);
Run Code Online (Sandbox Code Playgroud)
第6行的NSLog给了我一个包含ID3信息的好词典.但是当我想改变时(例如专辑名称,第9行)我得到一个OSStatus'pty?' 作为回报.
谁能指点我做错了什么的人.或者甚至可以更好/更简单/更快速地编辑音频文件的ID3标签/元数据.
在这里做几乎同样的事情。您可以使用以下代码检查 OSStatus 错误。
\n\nNSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:status userInfo:nil];\nNSLog(@"Error: %@", [error description]);\nRun Code Online (Sandbox Code Playgroud)\n\n我得到的是:
\n\n\n\n\n错误:错误域=NSOSStatusErrorDomain代码=1886681407“操作无法\xe2\x80\x99t完成。(OSStatus错误1886681407。)”
\n
难道iOS只是不允许你修改kAudioFilePropertyInfoDictionary吗?
\n\n更新:
\n\n我刚刚将idlib3移植到iOS,你可以用它来修改ID3标签。还包括一个示例项目。在这里查看https://github.com/rjyo/libid3-ios
\n| 归档时间: |
|
| 查看次数: |
1971 次 |
| 最近记录: |