Muziek afspelen bijhouden op Android track-core-playback-on-android

Deze documentatie behandelt het volgen in versie 2.x van de SDK.

IMPORTANT
Als u een 1.x versie van SDK uitvoert, kunt u de 1.x Gids van Ontwikkelaars voor Android hier downloaden: ​ Download SDKs ​
  1. 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.

    ​ createMediaObject API ​

    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
    name Mediumnaam Ja
    mediaId Unieke id voor media Ja
    length Medialengte Ja
    streamType Het type van stroom (zie constanten StreamType hieronder) Ja
    mediaType Het 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
    VOD Het type van stroom voor Video op bestelling.
    LIVE Streamtype voor Live-inhoud.
    LINEAR Het type van stroom voor Lineaire inhoud.
    AOD Stroomtype voor audio op aanvraag
    AUDIOBOOK Streaming type voor audioboek
    PODCAST Stroomtype voor Podcast

    MediaTypeconstanten:

    table 0-row-2 1-row-2 2-row-2
    Naam van constante Beschrijving
    Audio Mediatype voor audiostreams.
    Video Mediatype voor videostreams.
    code language-none
    MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
      <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
    
  2. verbind meta-gegevens

    Koppel standaard- en/of aangepaste metagegevensobjecten optioneel aan de volgende sessie via variabelen voor contextgegevens.

    • Standaard meta-gegevens

      Standaardmetadata implementeren in Android

      note note
      NOTE
      Het koppelen van het standaardobject voor metagegevens aan het mediaobject is optioneel.
    • de meta-gegevens van de Douane

      Maak een woordenboek voor de aangepaste variabelen en vul de gegevens voor deze media in. Bijvoorbeeld:

      code language-java
      HashMap<String, String> mediaMetadata =
        new HashMap<String, String>();
      mediaMetadata.put("isUserLoggedIn", "false");
      mediaMetadata.put("tvStation", "Sample TV Station");
      mediaMetadata.put("programmer", "Sample programmer");
      
  3. Spoor de intentie om playback te beginnen

    Als u een mediasessie wilt bijhouden, roept u trackSessionStart aan op de Media Heartbeat-instantie. Bijvoorbeeld:

    code language-java
    public void onVideoLoad(Observable observable, Object data) {
        _heartbeat.trackSessionStart(mediaInfo, mediaMetadata);
    }
    
    note tip
    TIP
    De tweede waarde is de objectnaam voor aangepaste mediametagegevens die u in stap 2 hebt gemaakt.
    note important
    IMPORTANT
    In trackSessionStart wordt bijgehouden wat de gebruiker wil afspelen, niet het begin van het afspelen. Deze API wordt gebruikt om de media gegevens/meta-gegevens te laden en tijd-aan-begin metrische QoS (de tijdduur tussen trackSessionStart en trackPlay) te schatten.
    note note
    NOTE
    Als u geen metagegevens van aangepaste media gebruikt, verzendt u gewoon een leeg object voor het tweede argument in trackSessionStart .
  4. spoor het daadwerkelijke begin van playback

    Identificeer de gebeurtenis van de media speler voor het begin van media playback, waar het eerste kader van media op het scherm wordt teruggegeven, en roep trackPlay:

    code language-java
    // Video is rendered on the screen) and call trackPlay.
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
  5. Spoor de voltooiing van playback

    Identificeer de gebeurtenis van de media speler voor de voltooiing van media playback, waar de gebruiker de inhoud tot het eind heeft bekeken, en roep trackComplete:

    code language-java
    public void onVideoComplete(Observable observable, Object data) {
        _heartbeat.trackComplete();
    }
    
  6. Spoor het eind van de zitting

    Identificeer de gebeurtenis van de mediaspeler voor het verwijderen/sluiten van het afspelen van de media, waarbij de gebruiker de media en/of de media sluit en verwijderd is, en roep trackSessionEnd aan:

    code language-java
    // Closes the media and/or the media completed and unloaded,
    // and call trackSessionEnd().
    public void onMainVideoUnload(Observable observable, Object data) {
        _heartbeat.trackSessionEnd();
    }
    
    note important
    IMPORTANT
    trackSessionEnd markeert het einde van een mediatrackingsessie. Als de sessie succesvol is gecontroleerd op voltooiing, waarbij de gebruiker de inhoud tot het einde heeft gecontroleerd, controleert u of trackComplete vóór trackSessionEnd is aangeroepen. Elke andere API-aanroep van track* wordt na trackSessionEnd genegeerd, behalve voor trackSessionStart voor een nieuwe sessie voor mediatracering.
  7. spoor alle mogelijke pauzescenario's

    Identificeer de gebeurtenis van de media speler voor media pauzeren en roepen trackPause:

    code language-java
    public void onVideoPause(Observable observable, Object data) {
        _heartbeat.trackPause();
    }
    

    Scenario's van de Pauze

    Identificeer om het even welk scenario waarin VideoPlayer zal pauzeren en zorg ervoor dat trackPause behoorlijk wordt geroepen. De volgende scenario's vereisen allemaal dat uw app trackPause() 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 media van het punt van onderbreking te hervatten.
  8. Identificeer de gebeurtenis van de speler voor media spel en/of media hervat van pauze en vraag trackPlay.

    code language-java
    // trackPlay()
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
    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 van trackPlay() wanneer het afspelen van het mediabestand wordt hervat.

Raadpleeg de volgende secties voor meer informatie over het bijhouden van het afspelen van core:

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb