Reputation: 709
I'm using code below:
AVMetadataItem *item = [self.player.metaData objectAtIndex:0];
NSLog("%@", item.stringValue);
Its works good with any english song title. But, when i'm getting russian song title from AVMetadataItem:
ÐÐÐÐÐ ÐЯ - ÐРСÐÐ ÐÐÐТÐÐУ // СÐУШÐЮТ: 1585
How can i get something like:
Тратата - мы везем с собой кота.
Any help appreciated.
Upvotes: 3
Views: 1327
Reputation: 59
Try this:
NSData *test = [item.stringValue dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES];
NSString *dataString = [[NSString alloc] initWithData:test encoding:NSUTF8StringEncoding];
We get meta from audio in UTF8 and don't know in what NSStringEncoding it's converted so i use:
for (i = 0; i < 15; i++) {
NSData *test = [item.stringValue dataUsingEncoding:i allowLossyConversion:YES];
NSString *dataString = [[NSString alloc] initWithData:test encoding:NSUTF8StringEncoding];
}
Looks like iOS encoding Cyrillic(UTF8) in ISOLatin.
Upvotes: 2