| 0 | 1 | 2 | 3 |
|---|---|---|---|
| sb | tei pusi tp pid:5 | pid | tsc afc cc |
| afl? | ...? |
| 0 | 1 | 2 | 3 |
|---|---|---|---|
| pf? | ...? |
| try { __flash__toXML(videojs.players["vjs_video_3"].trigger("adsready")) ; } catch (e) { "<undefined/>"; } |
| // when an ad is playing, ads.type would expose the type of linear ad | |
| player.ads.type; // undefined, "preroll", "midroll", or "postroll" | |
| // this property is somewhat duplicative of info that is already exposed by the plugin | |
| // you could figure out the type of ad yourself something like this: | |
| var adType = function(player) { | |
| if (player.ads.snapshot.currentTime < 0.1) { | |
| return "preroll"; | |
| } else if (player.ads.snapshot.currentTime < duration - 0.1) { | |
| return "midroll"; |
| |--------- page ---------| | |
| | |---- progress ------| | |
| | * mouse | | |
| | |---| left offset | |
| /** | |
| * The player configuration: | |
| */ | |
| { | |
| /* include plugins through the `scripts` property... */ | |
| "scripts": [ | |
| 'http://www.londonlive.co.uk/player/plugins/share-panel.js', | |
| 'http://www.londonlive.co.uk/player/plugins/age-gate.js', | |
| 'http://www.londonlive.co.uk/player/plugins/poster.js', | |
| 'http://www.londonlive.co.uk/player/plugins/logo-badge.js', |
| curl \ | |
| --header "Content-Type: application/json" \ | |
| --user $EMAIL \ | |
| --request POST \ | |
| --data '{ | |
| "name": "MySamplePlayer", | |
| "configuration": { | |
| "media": { | |
| "sources": [{ | |
| "src":"http://solutions.brightcove.com/bcls/assets/videos/Tiger.mp4", |
| /* Before player load, very basic video metadata is serialized as JSON to a data attribute: | |
| <video | |
| data-account="2549849259001" | |
| data-player="d9f2b281-6199-4f8b-821d-ecea1504071f" | |
| data-embed="default" | |
| data-video-id="7" | |
| class="video-js" controls></video> | |
| You can access any metadata specified this way by querying the DOM: |
| (function(window) { | |
| 'use strict'; | |
| /* Collect the runtime parameters we need. In this case, we parse them out of the fragment identifier. */ | |
| var params = window.location.hash.substring(1); // drop the '#' | |
| /* jQuery is available for Smart Player plugins so we can use it to load our primary plugin with the parameters we just gathered */ | |
| $.getScript('https://example.com/plugins/plugin.js?' + params, function() { | |
| console.log('Finished loading the main plugin'); | |
| }); |
| /* First option: make localization an "opportunity" for every plugin */ | |
| { | |
| "errors": { | |
| "localizations": { | |
| "es": { | |
| "1": { | |
| "headline": "Espanol!", | |
| "message": "Cual es tu numero de telefono?" | |
| } | |
| } |
| <div class="bc-wrap" style="opacity: 0;" "="" id="W5M0MpCehiHzreSzNTczkc9d" ?=""> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00 "> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:description rdf:about="" xmlns:xmpmm="http://ns.adobe.com/xap/1.0/mm/" xmlns:stref="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpmm:originaldocumentid="xmp.did:52A9086EB5FEE011A12194602BCD607E" xmpmm:documentid="xmp.did:14F85C4E003D11E1860DEAD87B68E4F6" xmpmm:instanceid="xmp.iid:14F85C4D003D11E1860DEAD87B68E4F6" xmp:creatortool="Adobe Photoshop CS5 Windows"> <xmpmm:derivedfrom stref:instanceid="xmp.iid:53A9086EB5FEE011A12194602BCD607E" stref:documentid="xmp.did:52A9086EB5FEE011A12194602BCD607E"> </xmpmm:derivedfrom></rdf:description> </rdf:rdf> </x:xmpmeta> <!--?xpacket end="r"?-->��Adobed���� | |