美文网首页
2018-09-10

2018-09-10

作者: 范庆文 | 来源:发表于2018-09-10 09:04 被阅读8次

    调用系统播放器播放本地视频,很多没真正实践过的人可能也会觉得so easy,“不过就是个隐式Intent,我没用过还没听过吗”

    我一开始就是这么想的,以下是我从网上搜索到的调用方式:


    image.png

    事实上,以上这种方式也可以调用出市面上某些支持的播放器,比方说我试验过的,优酷是可以被唤起的。

    但是系统的视频应用,我试过锤子、小米、华为都无法被唤起。

    原因在于uri的生成方式不对,正确姿势如下。

    Uri uri = Uri.parse("file://" + Environment.getExternalStorageDirectory().getPath() + "/VideoRecorderTest/" + FileToStr(videoList)[position]);
                Intent intent =  new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(uri, "video/*");
                try {
                    startActivity(intent);
                } catch (Exception e) {
                    T.showShort(getApplicationContext(), "没有默认播放器");
                    e.printStackTrace();
                }
    

    重点在于path前面加上的那个“file://”,这样子才能正确唤起大部分的播放器应用,try...catch也是必须要有的,因为一旦碰到真的一个视频播放的应用都没有的时候,能避免应用崩溃。

    相关文章

      网友评论

          本文标题:2018-09-10

          本文链接:https://www.haomeiwen.com/subject/dfvjgftx.html