AudioFileSetProperty returns 'kAudioFileUnsupportedPropertyError (pty?)'

I'm having difficulty writing metadata for audio files:

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);

NSLog on line # 6 gives me a good dictionary with ID3 info. But when I want to change (for example, album name, line # 9), do I get the message "OSStatus"? in return.

Anyone who can give me directions on what I'm doing wrong. Or maybe even a better / simpler / faster way to edit ID3 tags / metadata for audio files.

+5
source share
1 answer

We do almost the same thing here. You can check the OSStatus error with the following code.

NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:status userInfo:nil];
NSLog(@"Error: %@", [error description]);

And I have:

: = NSOSStatusErrorDomain Code = 1886681407 " ( OSStatus 1886681407.)"

, iOS kAudioFilePropertyInfoDictionary?


:

idlib3 iOS, ID3. . https://github.com/rjyo/libid3-ios

+4

All Articles