写项目的时候,碰到一个播放手机视频文件,调起自己做的APP的问题,在这里简单的介绍一下,也为以后做个参考。
如果单独的在自己APP中播放视频时想调用所有支持视频播放功能的APP还是蛮简单的,相信大家都会。
写个伪代码:
//调用所有可以播放的播放器,隐式调用 Intent intent = new Intent(); intent.setDataAndType(Uri.parse("播放地址"), "video/*"); startActivity(intent);
但是要在其他软件中调用自己的播放器?
细心一点的小伙伴可能会发现,在用手机自带的播放器播放视频的时候会提示你选择APP播放此文件,ok,我们现在要做的不就是这个功能吗?
So.... 查看系统源码(后面附有下载链接,有兴趣的可以自行下载)之后,在此目录中可以找到我们想要的东西。
如下图:
打开清单文件可以看到很多配置:
为了方便大家使用,还是直接上代码:
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="rtsp" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="video/*" /> <data android:mimeType="application/sdp" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" /> <data android:mimeType="video/mp4" /> <data android:mimeType="video/3gp" /> <data android:mimeType="video/3gpp" /> <data android:mimeType="video/3gpp2" /> </intent-filter>
可以看到,给我们的activity稍微配置一下就OK 了,非常简单。
最后简单说一下大体步骤:
1.对播放器进行配置。(当我们点击视频播放的时候会自动弹出选择对话框,此时就可以看到我们自己的播放器了)
2.获取播放地址。
//获取播放地址 uri = getIntent().getData();
3.设置播放地址
mVideoView.setVideoURI(uri);
ok,写完了,很low,给自己做个小笔记,也希望能帮到有需要的小伙伴! 最后附上系统源码链接。
https://yunpan.cn/ck8PyKPKbHELG 访问密码 8afe