Android中的动态Http Streaming播放实时Flash视频

时间:2013-11-14 07:21:02

标签: android flash

我正在尝试将我的Android应用程序与FTP服务器连接,FTP服务器使用不同比特率的Dynamic Http Streaming广播多个流.Flash Messaging Server(FMS)使用H.264编解码器以flv格式广播视频。在客户端(Android)我得到f4m(manifest(xml)文件))有不同的流。 我无法使用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文件的链接在视频视图组件中运行视频。 Flash编码器将视频转换为3种文件格式,如下所示

  1. .f4m(清单文件) - 引导程序信息,元数据,比特率,Flash访问许可证服务器位置
  2. .f4f(片段文件) - 扩展F4V格式,MP4片段std
  3. .f4x(索引文件) - 二进制
  4. 请提供解决方案,通过Android中的Http Streaming在不同的Android设备上播放视频。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

1)你遗漏了一些代码。您传递给str的{​​{1}}是什么? (这有点无关紧要,但是......)

2)setVideoPath(以及MediaPlayer)根本无法播放Flash视频。这只是not supported。它肯定不会理解XML文件,因此将f4m文件传递给它是没有意义的。