ExoPlayer und start / pause / seekTo Befehle

Ich versuche, ExoPlayer gegen ExoPlayer zu benutzen und ich kann es nicht scheinen, es herauszufinden …

.start() hat .start() / .pause() Befehle … und ich kann einfach nur seekTo(1287) und es startet automatisch …

  • Aktivität zum Versand oder Umleitung auf andere Aktivitäten
  • Implementieren Sie die Änderung schwarz / light theme Feature in Android App
  • Android: Wie verbinde ich mein Android-Handy mit dem Projektor über USB / HDMI?
  • Die Tabulatoranzeige in der TabLayout-Designunterstützungsbibliothek kann nicht angezeigt werden
  • Fehler beim Aufblasen der Klasse android.support.v7.internal.widget.ActionBarView
  • Aufruf von versteckten API in Android, um Bildschirm auszuschalten
  • Wie mache ich das mit ExoPlayer ? Ich habe versucht zu tun seekTo(1287) aber es fängt nicht an zu spielen nach … Ich habe auch hinzugefügt.setPlayWhenReady .setPlayWhenReady(true) danach und noch kein Glück …

    Ich bin in der Lage zu .stop() … aber ich kann es nicht wieder anfangen, wieder zu spielen, wenn ich nicht wieder .prepare() … aber ich glaube nicht, dass ich das zwischen jeder Pause machen muss spielen.

    Ich benutze meine eigenen Kontrollen und Methoden gegen MediaController wie in der ExoPlayer Demo … Ich kann nicht ganz sehen, wie die Kontrollen implementiert sind …

    Irgendwelche Vorschläge jemand?

    Bearbeiten:

    OK, ich habe herausgefunden Pause und starten …

     .setPlayWhenReady(true) // start .setPlayWhenReady(false) // pause 

    Aber ich habe immer noch Probleme mit dem Tracking … .seekTo arbeitet zeitweilig … manchmal funktioniert es … aber mal bekomme ich diesen Fehler:

     E/AudioTrack: AudioTrack::set : Exit 

    (Und es kommt nur zum Pufferzustand … geht nicht ganz auf "fertig" …

  • Wie kann ich Android Support Repository zu Android Studio hinzufügen?
  • Das Ändern von Text in Android auf Textänderung verursacht Überlauffehler
  • Android SQLite - Neue Tabelle VS. Neue DB
  • Horizontale RecyclerAnsicht innerhalb ListView nicht sehr glatt scrollen
  • AppWidgetHost nicht aktualisieren Widgets
  • Wie implementiere ich eine "Two Finger Drag" Geste auf Android?
  • One Solution collect form web for “ExoPlayer und start / pause / seekTo Befehle”

    Das offizielle Beispiel des PlayerControl im ExoPlayer Quellcode tut genau das, was du gefragt hast:

     public class PlayerControl implements MediaPlayerControl { private final ExoPlayer exoPlayer; public PlayerControl(ExoPlayer exoPlayer) { this.exoPlayer = exoPlayer; } @Override public boolean canPause() { return true; } @Override public boolean canSeekBackward() { return true; } @Override public boolean canSeekForward() { return true; } @Override public int getAudioSessionId() { throw new UnsupportedOperationException(); } @Override public int getBufferPercentage() { return exoPlayer.getBufferedPercentage(); } @Override public int getCurrentPosition() { return exoPlayer.getDuration() == ExoPlayer.UNKNOWN_TIME ? 0 : (int) exoPlayer.getCurrentPosition(); } @Override public int getDuration() { return exoPlayer.getDuration() == ExoPlayer.UNKNOWN_TIME ? 0 : (int) exoPlayer.getDuration(); } @Override public boolean isPlaying() { return exoPlayer.getPlayWhenReady(); } @Override public void start() { exoPlayer.setPlayWhenReady(true); } @Override public void pause() { exoPlayer.setPlayWhenReady(false); } @Override public void seekTo(int timeMillis) { long seekPosition = exoPlayer.getDuration() == ExoPlayer.UNKNOWN_TIME ? 0 : Math.min(Math.max(0, timeMillis), getDuration()); exoPlayer.seekTo(seekPosition); } } 

    Wenn Sie während des Suchvorgangs seltsame Verhaltensweisen erleben, liegt es an Ihnen, dass Sie einen bestimmten Stream / Dateityp haben. Ich kann Ihnen vorschlagen, einen Blick auf die Basis-Implementierung des ExoPlayers zu werfen und eventuell ein Problem auf Github zu melden.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.