1

我正在尝试将我的 android 应用程序与 FTP 服务器连接,该服务器使用动态 Http 流以不同的比特率广播多个流。Flash 消息服务器(FMS)正在使用 H.264 编解码器以 flv 格式广播视频。在客户端(Android)我得到 f4m(manifest (xml) file)) 具有不同的流。我无法使用 f4m 文件从 FMS 获取 android 中的视频。

String url = "http://d2233avv69kunu.cloudfront.net/hds-live/livepkgr/_definst_/liveevent/livestream.f4m"; 
    Uri uri = Uri.parse(url);
   // videoView.setVideoURI(uri);
    videoView.setVideoPath(str);
    MediaController mc = new MediaController(this);

    //VMRuntime.getRuntime().setMinimumHeapSize(40);
    mc.setAnchorView(videoView);  

    videoView.setMediaController(mc);
    System.out.println("Max Memory - "+java.lang.Runtime.getRuntime().maxMemory()); 
    videoView.requestFocus();
    videoView.setOnPreparedListener(new OnPreparedListener()
     {
           public void onPrepared(MediaPlayer mp)
           {                 
                 videoView.start();
           }
     });

在上面的代码中,我试图通过传递 f4m 文件的链接在 Video View 组件中运行视频。Flash 编码器将视频转换为 3 种文件格式,如下所列

  1. .f4m(清单文件) - 引导信息、元数据、比特率、Flash 访问许可证 服务器位置
  2. .f4f(片段文件)- 扩展 F4V 格式,MP4 片段标准
  3. .f4x(索引文件)- 二进制

请提供通过 android 中的 Http Streaming 在不同的 android 设备上播放视频的解决方案。提前致谢。

4

1 回答 1

1

1)您在代码中遗漏了一些东西。你str传递给setVideoPath什么?(虽然这有点无关紧要......)

2)MediaPlayer(因此VideoView)根本无法播放 Flash 视频。根本不支持。它也绝对不会理解 XML 文件,因此将 f4m 文件传递​​给它是没有意义的。

于 2013-11-14T08:00:47.187 回答