videoview无法播放rtmp和其他一些流

时间:2015-05-04 16:32:13

标签: android android-videoview

我正在使用带有mediacontroller的视频来播放rtmp,rtsp,m3u8和http流。 问题是他们不能在我的所有设备上工作。有些设备播放所有流,有些设备无法播放rtmp,有些设备只能播放一些rtmp和一些http流,但不是全部播放。

我在想它可能是某种解码/编码问题?所以我希望有人可以给我答案。

我知道有些应用使用相同的流,并且它们可以在我的所有设备上运行,当我第一次加载他们的应用时,它会说“初始化解码器”,但我似乎无法找到任何有用的信息,也许你可以指出我正确的方向。

以下是我用来播放视频的代码:

private void playVideo(string link) {
    videoView.setVisibility(VideoView.VISIBLE);
    progressBar.setVisibility(ProgressBar.VISIBLE);
    if (videoView.isPlaying()) { videoView.stopPlayback(); }
    MediaController media = new MediaController(MainActivity.this);
    media.setAnchorView(videoView);
    media.setFocusable(false);
    media.setClickable(false);
    media.setLongClickable(false);
    videoView.setMediaController(media);
    videoView.setFocusable(false);
    videoView.setClickable(false);
    videoView.setLongClickable(false);
    videoView.setVideoPath(link);
    videoView.setOnPreparedListener(videoViewPreparedListener);
    videoView.setOnCompletionListener(videoViewCompletionListener);
    videoView.setOnErrorListener(videoViewErrorListener);
}

1 个答案:

答案 0 :(得分:0)

你可以使用vitamino库来获得你想要的功能。你的选项很少,而vitamino库就是其中之一。如果你想与它妥协,它会将你的apk大小增加到8 MB然后它很好。它也有局限性,在极少数情况下它不支持某些cpu架构。总的来说它很好。