Muziek afspelen bijhouden op Roku track-core-playback-on-roku
Deze documentatie behandelt het volgen in versie 2.x van de SDK.
-
Aanvankelijke het volgen opstelling
Bepaal wanneer de gebruiker de afspeelintentie activeert (de gebruiker klikt op Afspelen en/of Automatisch afspelen is ingeschakeld) en maak een
MediaObject-instantie.MediaObjectreference:table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center 23-align-center Naam variabele Beschrijving Vereist nameVideonaam Ja mediaidUnieke video-id Ja lengthVideolengte Ja streamTypeHet type van stroom (zie constanten StreamType hieronder) Ja mediaTypeHet type van media (zie constanten MediaType hieronder) Ja StreamTypeconstanten:table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Naam van constante Beschrijving MEDIA_STREAM_TYPE_VODHet type van stroom voor Video op bestelling. MEDIA_STREAM_TYPE_LIVEStroomtype voor LIVE-inhoud. MEDIA_STREAM_TYPE_LINEARHet type van stroom voor inhoud LINEAR. MEDIA_STREAM_TYPE_AODStroomtype voor audio op aanvraag MEDIA_STREAM_TYPE_AUDIOBOOKStreaming type voor audioboek MEDIA_STREAM_TYPE_PODCASTStroomtype voor Podcast MediaTypeconstanten:table 0-row-2 1-row-2 2-row-2 Naam van constante Beschrijving MEDIA_STREAM_TYPE_AUDIOMediatype voor audiostreams. MEDIA_STREAM_TYPE_VIDEOMediatype voor videostreams. creeer een media info voorwerp voor video met de inhoud van VOD:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )of
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEOcreeer een media informatievoorwerp voor video met inhoud AOD:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )of
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO -
verbind meta-gegevens
Koppel standaard- en/of aangepaste metagegevensobjecten optioneel aan de volgende sessie via variabelen voor contextgegevens.
- Standaard meta-gegevens
Standaardmetagegevens implementeren op Roku
<div class="extension note">
<div>NOTE</div>
<div>
<p>Het is optioneel om het standaardobject voor videometagegevens aan het mediaobject te koppelen.</p>
</div>
</div>
-
de meta-gegevens van de Douane
Maak een veranderlijk object voor de douanevariabelen en bevolk met de gegevens voor deze video. Bijvoorbeeld:
code language-none mediaContextData = {} mediaContextData["cmk1"] = "cmv1" mediaContextData["cmk2"] = "cmv2"
-
Spoor de intentie om playback te beginnen
Als u een mediasessie wilt volgen, roept u
trackSessionStartaan op de Media Heartbeat-instantie:code language-none ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)note tip TIP De tweede waarde is de aangepaste objectnaam voor videometagegevens die u in stap 2 hebt gemaakt. note important IMPORTANT In trackSessionStartwordt bijgehouden wat de gebruiker wil afspelen, niet het begin van het afspelen. Deze API wordt gebruikt om de videogegevens/meta-gegevens te laden en tijd-aan-begin metrische QoS (de tijdduur tussentrackSessionStartentrackPlay) te schatten.note note NOTE Als u geen aangepaste videometagegevens gebruikt, verzendt u gewoon een leeg object voor het argument dataintrackSessionStart, zoals getoond in de regel met opmerkingen in het bovenstaande iOS-voorbeeld. -
spoor het daadwerkelijke begin van playback
Identificeer de gebeurtenis van de videospeler voor het begin van de videoplayback, waar het eerste kader van de video op het scherm wordt teruggegeven, en roep
trackPlay:code language-none ADBMobile().mediaTrackPlay() -
de waarde van de Update playhead
Wanneer de afspeelkop van media verandert, geeft u een melding aan de SDK door de API
mediaUpdatePlayheadaan te roepen.
Voor video-op-verzoek (VOD) wordt de waarde opgegeven in seconden vanaf het begin van het media-item.
Als de speler voor live streaming geen informatie geeft over de duur van de inhoud, kan de waarde worden opgegeven als het aantal seconden sinds middernacht UTC van die dag.code language-none ADBMobile().mediaUpdatePlayhead(position)note note NOTE Houd rekening met het volgende wanneer u de API mediaUpdatePlayheadaanroept:- Wanneer u voortgangsmarkeringen gebruikt, is de duur van de inhoud vereist en moet de afspeelkop worden bijgewerkt als het aantal seconden vanaf het begin van het media-item, te beginnen met 0.
- Wanneer u media-SDK's gebruikt, moet u de
mediaUpdatePlayheadAPI minstens één keer per seconde aanroepen.
-
Spoor de voltooiing van playback
Identificeer de gebeurtenis van de videospeler voor de voltooiing van de videoplayback, waar de gebruiker de inhoud tot het eind heeft bekeken, en roep
trackComplete:code language-none ADBMobile().mediaTrackComplete() -
Spoor het eind van de zitting
Identificeer de gebeurtenis van de videospeler voor het leegmaken/sluiten van de videoplayback, waar de gebruiker de video en/of de video voltooit en is verwijderd, en roep
trackSessionEnd:code language-none ADBMobile().mediaTrackSessionEnd()note important IMPORTANT trackSessionEndmarkeert het einde van een videovervolgsessie. Als de sessie succesvol is gecontroleerd op voltooiing, waarbij de gebruiker de inhoud tot het einde heeft gecontroleerd, controleert u oftrackCompletevóórtrackSessionEndis aangeroepen. Eventuele anderetrack*API-aanroepen worden natrackSessionEndgenegeerd, behalve voortrackSessionStartvoor een nieuwe sessie voor het bijhouden van video. -
spoor alle mogelijke pauzescenario's
Identificeer de gebeurtenis van de videospeler voor videopauze en vraag
trackPause:code language-none ADBMobile().mediaTrackPause()Scenario's van de Pauze
Identificeer om het even welk scenario waarin VideoPlayer zal pauzeren en zorg ervoor dat
trackPausebehoorlijk wordt geroepen. De volgende scenario's vereisen allemaal dat uw apptrackPause()aanroept:- De gebruiker raakt expliciet de pauze in de app.
- De speler plaatst zichzelf in de pauzestatus.
- (Mobiele Apps) - de gebruiker zet de toepassing in de achtergrond, maar u wilt dat app de zitting open houdt.
- (Mobiele Apps) - om het even welk type van systeem onderbreekt komt voor dat een toepassing veroorzaakt om worden gesteund. Bijvoorbeeld, ontvangt de gebruiker een vraag, of een pop-up van een andere toepassing komt voor, maar u wilt de toepassing de zitting levend houden om de gebruiker de kans te geven om de video van het punt van onderbreking te hervatten.
-
Identificeer de gebeurtenis van de speler voor videospel en/of video hervat van pauze en vraag
trackPlay:code language-none ADBMobile().mediaTrackPlay()note tip TIP Dit kan de zelfde gebeurtenisbron zijn die in Stap 4 werd gebruikt. Zorg ervoor dat elke API-aanroep van trackPause()wordt gekoppeld aan een volgende API-aanroep vantrackPlay()wanneer het afspelen van de video wordt hervat.
- Het volgen scenario's: de playback van VOD zonder advertenties
- Voorbeeldspeler die bij de Roku SDK wordt geleverd voor een volledig voorbeeld van bijhouden.