HLS (http live streaming) na Androida 3.0 i poszukiwanie

Mamy dostawcę, który daje nam pliki m3u8 dla strumieni HLS (pierwotnie przeznaczonych do użytku w aplikacji na iOS).

Android 3.0+ obsługuje transmisję strumieniową http na żywo (http://developer.android.com/guide/appendix/media-formats.html) - i możemy w rzeczywistości odtwarzać te pliki m3u8 przy użyciu standardowego VideoView na Androidzie 3.0+.

EDYCJA: Android wydaje się traktować to jako „wideo w czasie rzeczywistym” i wyłącza możliwość wyszukiwania lub obliczania czasu trwania filmu. (Gdzie, jako iOS, możesz szukać w strumieniu bez problemu)

Czy jest jakiś sposób, aby zmusić Android 3.0+ do szukania w tych plikach?

Oto przykładowa aktywność, którą inni mogą przetestować:

import android.app.Activity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class SandboxActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        VideoView vw = (VideoView) findViewById(R.id.videoView);
      vw.setVideoPath("http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8"); 
        vw.setMediaController(new MediaController(this));
        vw.requestFocus();
        vw.start();
    }
}

i przykładowy układ:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center" android:id="@+id/root">

    <VideoView
        android:id="@+id/videoView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</RelativeLayout>

Jest to przykładowy link HLS firmy Apple.

questionAnswers(5)

yourAnswerToTheQuestion