如何通过代码检查android videoview是否支持文件?

我试图通过Android视频播放视频。这是我的代码:

super.onCreate(savedInstanceState);
setContentView(R.layout.video);
VideoView videoView = (VideoView) findViewById(R.id.videoView);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();

这工作正常,但有些手机仍然显示标题为“无法播放视频”的对话框。

我的问题是如何禁用此通知窗口? 我的意思是,在调用videoView.start()之前,我可以检查视频文件是否受支持吗?或者我可以禁用或阻止调用系统弹出通知窗口?

如果没有通知窗口,我只想在不支持电话的情况下跳过视频。

0
额外 编辑
意见: 1
嗨,你有解决这个问题吗?
额外 作者 Noundla,

2 答案

在启动VideoView之前,我使用了setOnErrorListener来检查视频是否会播放。

   //Restart if PROBLEM
    myVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {

        public boolean onError(MediaPlayer mp, int what, int extra) {
           //TODO Auto-generated method stub
            Intent intent = getIntent();
            overridePendingTransition(0, 0);
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

            finish();

            overridePendingTransition(0, 0);
            startActivity(intent);

            return true;
        }

    });
    myVideoView.start();
0
额外

我发现使用 MediaPlayer 来解决这个问题的另一个简单方法。

try {
    MediaPlayer mp = MediaPlayer.create(this, uri);
    mp.release();
} catch (Exception e) {
    Log.e("MediaPlayer", "can NOT play: " + uri);
}

上面的代码可以过滤掉大多数不支持

无论如何,这是另一种思路。我在这里发布了它,并希望有人能改进它。

0
额外