AVPlayerItem
のexternalMetadata
アレイに転送します。各AVMutableMetadataItem
を表示するには、少なくともidentifier
、extendedLanguageTag
、およびvalue
のプロパティを設定する必要があります。ここに例があります:
let mediaItem = AVPlayerItem(URL: mediaURL)
let titleMetadataItem = AVMutableMetadataItem()
titleMetadataItem.locale = NSLocale.currentLocale()
titleMetadataItem.key = AVMetadataCommonKeyTitle
titleMetadataItem.keySpace = AVMetadataKeySpaceCommon
titleMetadataItem.value = "The Title"
let descriptionMetadataItem = AVMutableMetadataItem()
descriptionMetadataItem.locale = NSLocale.currentLocale()
descriptionMetadataItem.key = AVMetadataCommonKeyDescription
descriptionMetadataItem.keySpace = AVMetadataKeySpaceCommon
descriptionMetadataItem.value = "This is the description"
mediaItem.externalMetadata.append(titleMetadataItem)
mediaItem.externalMetadata.append(descriptionMetadataItem)
これは十分に文書化されていません。 This forum postはこれを理解するために重要でした。
@JenelEjercitoMyersのためのObjective-Cの例:
AVPlayerItem *mediaItem = [[AVPlayerItem alloc] initWithURL:mediaURL];
AVMutableMetadataItem *titleMetadataItem = [[AVMutableMetadataItem alloc] init];
titleMetadataItem.locale = NSLocale.currentLocale;
titleMetadataItem.key = AVMetadataCommonKeyTitle;
titleMetadataItem.keySpace = AVMetadataKeySpaceCommon;
titleMetadataItem.value = @"The Title";
NSArray *externalMetadata = [[NSArray alloc] initWithObjects:titleMetadataItem, nil];
mediaItem.externalMetadata = externalMetadata;
ログをチェックすると、「情報」ビューでは、下にスワイプした後に表示されている場合は、警告が表示されます:独立したビューコントローラ上の提示ビューコントローラが推奨され、。だから彼らは、分離されたビューコントローラを使用しているようだ! –
Sylverb
「スワイプダウン」ペインが表示されるように「情報」セクションが表示されません。 「オーディオ」セクションのみが表示されます。私の 'AVPlayerItem'のそれぞれに対して、' AVMutableMetadataItem'を 'externalMetadata'配列に追加していますが、まだ表示されません。 Appleは「外部メタデータ」のhttps://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerViewController_Class/で可能と述べています。 https://developer.apple.com/library/prerelease/tvos/documentation/AVFoundation/Reference/AVPlayerItem_Class/index.html#//apple_ref/occ/instp/AVPlayerItem/externalMetadata –
もご覧ください。私の答えを見てください。 –