Tôi đang gặp khó khăn bằng văn bản siêu dữ liệu một tập tin âm thanh của:AudioFileSetProperty trở về 'kAudioFileUnsupportedPropertyError (? Pty)'
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);
Các NSLog trên dòng # 6 mang lại cho tôi một cuốn từ điển tốt đẹp với thông tin ID3. Nhưng khi tôi muốn thay đổi (ví dụ: tên album, dòng # 9), tôi nhận được pty của OSStatus? đổi lại.
Bất cứ ai có thể cung cấp cho tôi gợi ý về những gì tôi đang làm sai. Hoặc thậm chí là cách tốt hơn/đơn giản/nhanh hơn để chỉnh sửa thẻ ID3/siêu dữ liệu cho tệp âm thanh.
Tôi không biết. Không thể tìm thấy bất kỳ tài liệu nào về các hạn chế của AudioFileSetProperty. Các phương thức âm thanh cốt lõi khác hoạt động hoàn hảo trên iOS. – basvk
Tôi vừa chuyển idlib3 sang iOS và bạn có thể sử dụng nó để sửa đổi thẻ ID3. Một dự án ví dụ cũng được bao gồm. Kiểm tra tại đây https://github.com/rjyo/libid3-ios – rjyo
Cảm ơn @Lele Xu, tôi sẽ kiểm tra. – basvk