I construct an NSData object to make a basic id3 tag. Then use that data to write the id3 tag using:
OSStatus result = AudioFileSetProperty(_audioFileID,
kAudioFilePropertyID3Tag,
sizeInBytes,
rawID3FromNSData);
if (result == noErr)
{
NSLog(@"No error.");
}
Now when I do this, I get noErr for the result. But I noticed no programs are showing the id3 tag I wrote in. If look at the MP3 file in a hex viewer, the ID3 tag doesn't match the NSData object I created. For example, if I NSLog out the NSData object I used to get rawID3FromNSData param above, the hex begins with what like I expect:
494433 or ID3
But when I look at the tag in a hex viewer I see
49 6E 66
Even if I made a mistake construcing the ID3 in binary, I'd still expect the hex to match the data I wrote in?