使用本机播放器播放时,视频无法使用 VideoView 播放

Posted

技术标签:

【中文标题】使用本机播放器播放时,视频无法使用 VideoView 播放【英文标题】:video doesn't play with VideoView while play's with native player 【发布时间】:2012-07-25 09:34:25 【问题描述】:

这是我的代码。在这种情况下,如果我使用它播放的视频 url 启动意图,而它在 videoview 中不播放,是否有任何方法可以让它在 VideoView 中工作

VideoView mVideoView = new VideoView(this);
String videoURL = "video_url";
mVideoView.setMediaController(new MediaController(this));
mVideoView.setVideoURI(Uri.parse(videoURL));

setContentView(mVideoView);

当本机播放器播放视频时

Intent theIntent = new Intent();
theIntent.setDataAndType(Uri.parse(videoURL), "video/*");

我也在设备上测试过这个

【问题讨论】:

【参考方案1】:

试试下面的方法

            VideoView videoView = (VideoView) findViewById(R.id.VideoView);
            MediaController mediaController = new MediaController(this);
            mediaController.setAnchorView(videoView);
            // Set video link (mp4 format )
            Uri video = Uri.parse("mp4 video link");
            videoView.setMediaController(mediaController);
            videoView.setVideoURI(video);
            videoView.start();

参考这个链接

https://***.com/a/6410421/1441666

同时检查支持的格式android Supported Media Formats

https://***.com/a/8714189/1441666

【讨论】:

mVideoView.start();不需要打电话的问题是它给出错误“抱歉视频无法播放” 我的文件是有效的 3gp 文件,它可以与原生播放器一起播放【参考方案2】:

我认为这可能会有所帮助。

VideoView view = (VideoView) findViewById(R.id.xxxx);

MediaController mc = new MediaController(this);
mc.setMediaPlayer(view);
view.setMediaController(mc);
try
    view.setVideoURI(Uri.parse(file_path));
 catch()

view.requestFocus();
try
    view.start();   
catch()

【讨论】:

以上是关于使用本机播放器播放时,视频无法使用 VideoView 播放的主要内容,如果未能解决你的问题,请参考以下文章

在 VideoView 中播放流,将 url 转换为 rtsp

Android:无法播放 mp4 视频

WebKit 代码弄乱后无法播放 Flash 视频

如何在 android 的 videoview 中播放 .mp4 视频?

如何在 android 中从 react 本机应用程序播放 mov 视频?

使用 AVPlayer 时为啥我的视频无法在我的 UIView 中播放