0

Ich möchte Mediendatei (mp3) von URL abspielen. und ich möchte auch die Länge dieser mp3-Datei bekommen. Ich bin erfolgreich in der Dateiwiedergabe, aber ich möchte auch SeekBar anzeigen. Dafür muss ich die Länge der Mediendatei in Sekunden wissen.Streaming Media Länge

Wie kann ich das erreichen?

Ich fand einen Weg, aber ich glaube nicht, dass es mir in Sekunden gegeben hat.

URLConnection cn = new URL(mediaUrl).openConnection(); 
cn.connect(); 
int length = cn.getContentLength(); 

Ich denke, es gibt Bytes zurück. Also kann ich es in Sekunden umwandeln? Oder kennt jemand anders?

+0

Versuchen Sie den gleichen Weg wie [hier] (http://stackoverflow.com/questions/7802645/in-android-how-to-get-the-progress-time-of-the-video-played-under-videoview/7803166 # 7803166) es ist für Video gemacht. –

+0

@LalitPoptani danke für deine Antwort, aber ich denke nicht, dass Video von URL spielt. Wenn ich die getDuration() -Methode ausprobiere, hat sie mir die gepufferte Dauer gegeben, aber wenn sie gepuffert ist, wird ihr Wert geändert. wie zuerst 400,567,1234, und zuletzt 4000. so fluktuiert meine Seekbar ... Ich hoffe du verstehst. –

Antwort

1

Überprüfen Sie die Methode getHeaderFields(), und prüfen Sie, ob ein Antwortheader mit der Länge vorhanden ist. Wenn nicht, können Sie den Inhalt herausholen, die MP3-Metadaten aus dem Stream lesen und die Kbit/s herausfinden. Sobald Sie das haben, können Sie die Länge mit der Länge in Bytes erhalten.

0

Sobald das Medienstreaming begonnen hat, können Sie die Gesamtdauer der Mediendatei mit mediaplayer.getDuration ermitteln. Dieser Wert kann dann innerhalb eines Runnable verwendet werden, um Ihre Suchleiste regelmäßig zu aktualisieren.

+0

mediaplayer.getDuration gibt mir nur zurück, wieviel gepuffert ist, nicht Gesamtdauer .... :( –

1

Der von Ihnen angegebene Code ist erforderlich, um Daten aus einer URL abzurufen.

Sie können in der Tat aus dieser url eine MP3-Datei werden durch Ziehen an der getContentLength() Sie anrufen, wirkt auf das URLConnection Objekt - was es gibt die Sie herunterladen Größe der Datei ist (Byte, Kilobyte, Megabyte) .

Wenn Sie nach der Spielzeit der MP3 suchen möchten, müssen Sie die Daten in ein gültiges Medienobjekt zusammenführen, das dann eigene Zugriffsmethoden wie getDuration() haben sollte.

Verwandte Themen