如何使用MediaPlayer播放flv流

时间:2012-12-19 08:33:41

标签: android stream media-player

在我的应用程序中,我有一个缓冲区接收flv流数据。由于Android不支持flv,那么如何播放呢?如果我将flv流缓冲区转换为mp4,则会出现另一个问题,即:
如何定义MediaPlayer的数据源,因为它通常是文件路径或URL。任何人都可以帮忙或给我一些建议。

1 个答案:

答案 0 :(得分:0)

我个人使用VideoView.setVideo(uri)VideoView中设置视频。您只需使用此ffmpeg命令行在服务器端或您自己的电脑上转换视频:

ffmpeg -i infile.flv outfile.mp4

就像您应该知道函数VideoView.setVideo()期望的第一个参数Uri可以是本地路径或http / https网址。

如果您需要使用您的网络服务器发送下载/流式传输的Cookie,您可以使用隐藏功能setVideo(Uri, Map<String, String>)进行反思:

HashMap<String, String> header = new HashMap<String, String>();
header.put("Cookie", "--value--");
Method setVideo = videoView.getClass().getMethod("setVideoURI", Uri.class, Map.class);
setVideo.invoke(videoView, Uri.parse(url), header);

但请注意,您需要捕获可能引发的异常,为简化起见,我在上面的代码中删除了它们。