Android:从网址播放flv视频流

the*_*osh 4 android video-streaming streaming-flv-video

我目前有一个应用程序记录视频并将其上传到我的服务器.上传视频后,应用会收到一个响应,其中包含指向文件的flv流的URL.

当我尝试在Android默认视频播放器(视频)中打开流时没有任何反应,但是当我使用其他应用程序(BSPlayer)时,它完美地播放了视频.但是,没有办法强制打开一个应用程序Intent.ACTION_VIEW.这是从服务器接收响应的函数的代码:

@Override
protected void onResponseReceived(int requestType, int status, Object resp) {
    switch (requestType) {
    case CLIP_DETAILS: {
        if (status == RESPONSE_OK) {
            String token1 = ((ResponseObject_ClipDetails) resp).m_token1;
            String token2 = ((ResponseObject_ClipDetails) resp).m_token2;
            String url = getClipURL(token1, token2);

            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            i.setType("video/flv");
            startActivity(i);
        }

    }
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在我的Android应用程序中显示.flv视频?

yor*_*rkw 5

你可以使用维生素.

媒体格式

除了Android平台内置的默认媒体格式外,许多音频和视频编解码器都包含在Vitamio中,其中一些列在下面.

  • 的DivX/XVID
  • WMV
  • FLV
  • TS
  • RMVB
  • MKV
  • MOV
  • M4V
  • AVI
  • MP4
  • 3GP

适用于Android开发人员的Vitamio SDK

您可以在此处下载用于项目的jar文件.(Vitamio-SDK.7z)

适用于Android开发者

这是一个使用vitamio.jar的演示项目.(Vitamio-Demo.7z)

Vitamio提供与Android默认MediaPlayer框架类似的界面.如果你在项目中使用android.media.MediaPlayer,只需从上面获取vitamio.jar,然后将其添加到项目的libs中,并用io.vov.vitamio.MediaPlayer替换android.media.MediaPlayer的导入.

除了Android MediaPlayer的默认界面,Vitamio提供了更多的API,请参考库中的javadoc.