tvos - How to edit video's info in Apple TV? -


i try add basic information in videos under info box, don't know how add or update it?

anyone knows how it?

enter image description here

tvjs

you can set metadata properties directly on mediaitem object instantiate.

var mediaitem = new mediaitem("video", videourl); mediaitem.title = "my title"; mediaitem.subtitle = "my subtitle"; mediaitem.artworkimageurl = someurl; mediaitem.description = "my description"; 

for more information see here , here.

avkit

swift

you should add externalmetadata avplayeritem. can add these 2 helper functions apple has provided in wwdc session:

    func metadataitem(identifier : string, value : protocol<nscopying,         nsobjectprotocol>?) -> avmetadataitem? {         if let actualvalue = value {             let item = avmutablemetadataitem()             item.value = actualvalue             item.identifier = identifier             item.extendedlanguagetag = "und" // undefined (wildcard) language             return item.copy() as? avmetadataitem         }         return nil     }      func metadataartworkitem(image: uiimage) -> avmetadataitem? {         let item = avmutablemetadataitem()         // choose png or jpeg         item.value = uiimagepngrepresentation(image)         item.datatype = kcmmetadatabasedatatype_png string         item.identifier = avmetadatacommonidentifierartwork         item.extendedlanguagetag = "und"         return item.copy() as? avmetadataitem     } 

the first 1 take identifier, type of metadata add, , value type , return optional avmetadataitem other takes uiimage , returns same thing.

now can following when update avplayeritem:

let videourl = nsurl(string: "http://devstreaming.apple.com/videos/wwdc/2016/506ms2tv71tcduwp3dm/506/hls_vod_mvp.m3u8") self.player = avplayer(url: videourl!) let playeritem = self.player?.currentitem var allitems: [avmetadataitem] = [avmetadataitem]() allitems.append(self.metadataitem(avmetadatacommonidentifiertitle, value: "avkit on tvos")!) allitems.append(self.metadataitem(avmetadatacommonidentifierdescription, value: "2016 wwdc session avkit on tvos adding metadata avplayeritem covered")!) if let image = uiimage(named: "poster"), let artworkitem = metadataartworkitem(image) {     allitems.append(artworkitem) } playeritem?.externalmetadata = allitems 

which gives like:

enter image description here

you can find more information here.

objective-c

- (avmetadataitem *)metadataitemwithidentifier:(nsstring *)identifier value:(id<nsobject, nscopying>) value {     avmutablemetadataitem *item = [[avmutablemetadataitem alloc]init];     item.value = value;     item.identifier = identifier;     item.extendedlanguagetag = @"und";     return [item copy]; }  - (avmetadataitem *)metadataartworkitemwithimage:(uiimage *)image {     avmutablemetadataitem *item = [[avmutablemetadataitem alloc]init];     item.value = uiimagepngrepresentation(image);     item.datatype = (__bridge nsstring * _nullable)(kcmmetadatabasedatatype_png);     item.identifier = avmetadatacommonidentifierartwork;     item.extendedlanguagetag = @"und";     return item.copy; }  // add code update avplayeritem nsurl *videourl = [nsurl urlwithstring:self.detailitem.urlstring]; playerviewcontroller.player = [avplayer playerwithurl:videourl]; self.player = playerviewcontroller.player; avplayeritem *playeritem = self.player.currentitem; nsmutablearray <avmetadataitem *> *allitems = [nsmutablearray new]; [allitems addobject:[self metadataitemwithidentifier:avmetadatacommonidentifiertitle value:@"avkit on tvos"]]; [allitems addobject:[self metadataitemwithidentifier:avmetadatacommonidentifierdescription value:@"2016 wwdc session avkit on tvos adding metadata avplayeritem covered"]]; [allitems addobject:[self metadataartworkitemwithimage:[uiimage imagenamed:@"poster"]]]; playeritem.externalmetadata = allitems; 

Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -