Android 3.0上的HLS(http直播)和寻求

NPi*_*ike 25 android http-live-streaming android-3.0-honeycomb

我们有一个提供商,为HLS流提供m3u8文件(最初用于iOS应用程序).

Android 3.0+支持http直播(http://developer.android.com/guide/appendix/media-formats.html) - 我们实际上可以使用Android 3.0+上的标准VideoView播放这些m3u8文件.

编辑:Android似乎将此视为"实时"视频Feed,并禁用查找或计算视频时长的功能.(在iOS中,你可以在流中搜索而没有问题)

有没有办法迫使android 3.0+在这些文件中寻找?

以下是其他人要测试的示例活动:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

和样本布局:

<?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>
Run Code Online (Sandbox Code Playgroud)

这是使用Apple的示例HLS链接.

Vic*_*nin 13

看看这个(你也提到过)页面

它说:

  • 协议版本3(Android 4.0及更高版本)
  • 协议版本2(Android 3.x)

在这里,您可以检查HLS的草稿.您可以在页面顶部选择一个版本.

首次参考求得出现在草案3中(与草案2 Android 3.x相比)

日期和时间的值提供了媒体时间线到适当的挂钟时间的信息映射,可用作寻求的基础.

只想确认一下.我没有阅读整篇草稿.但是,我的猜测是Android在Android 3.0中实现了相当早的草案,他们可能部分实现了它,这足以发挥,但它还不足以寻求.

我不认为你有一个简单的解决方案,除了在第三方HLS客户端(在vipw建议)


vip*_*ipw 5

对不起,伙计们,你正试图从石头上取血.Android 3.0支持非常有限的HLS子集,并且为了支持在实时流中搜索,您将需要比Google提供的更好的HLS客户端.