私はMPMoviePlayerControllerを使用してオーディオをストリームします。私はまた、そのtimedMetadataプロパティを使用して、MP3曲のID3タグを取得します。これは、iOS 4.xでうまく動作しますが、ここではないのiOS 5でMPMoviePlayerController timedMetadataはiOS 5で空白を返します
は、コードの一部は、Iの使用である:
具体的MPMoviePlayerController* streamPlayer;
// allocation and initialization code ...
- (void) metadataUpdate: (id) sender {
NSLog(@"GOT METADATA!!!!!");
if ([streamPlayer timedMetadata]!=nil && [[streamPlayer timedMetadata] count] > 0) {
NSLog(@"metadata count = %d", [[streamPlayer timedMetadata] count]);
for (MPTimedMetadata *metadata in [streamPlayer timedMetadata]) {
NSLog(@"description %@", metadata.allMetadata);
if ([[metadata.allMetadata valueForKey:@"key"] isEqualToString:@"title"]) {
song.text = [metadata.allMetadata valueForKey:@"value"];
filename = song.text;
}
}
}
}
、iOSの5の下metadata.allMetadataは空白に戻ります上記の[[streamPlayer timedMetadata] count]は2です。
これはiOS 5のバグですか?
おかげさまでChris。 playableDurationの問題は、iOS 5.xで常にゼロを返すように見えますか? http://stackoverflow.com/questions/7763200/playableduration-returns-0-in-ios5#comment10112948_7763200 – RawMean
私はviewDidLoadでplayableDurationをチェックしてください。もちろん、ファイルはまだロードされていません。最初のセグメントがロードされた後にplayableDurationをチェックすると、有効な継続時間が取得されます。しかし、allMetadataプロパティの場合、何かがあることがわかっていても、null以外は取得できませんでした。実際、上記のコードは、allMetadataプロパティが返すと思われる辞書を返します。しかし、allMetadataプロパティでこれを実行すると、メタデータが返され、プロパティはNULLを返します。 – GnarlyDog
iOS 5.xではplayableDurationが0以外の値を返すサンプルコードを共有できると非常に感謝しています。おそらくあなたは上記のリンクに答えてteのステープルコードを提供することができますか? – RawMean