admin 管理员组文章数量: 1184232
首先由于我们的内容在网络上,我们需要添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
其次,由于播放器实例是个Intent,我们需要创建他:
Intent intent = new Intent(Intent.ACTION_VIEW);
String type = "video/mp4";
Uri name = Uri.parse(url);
intent.setDataAndType(name, type);
intent.setClassName("com.cooliris.media", "com.cooliris.media.MovieView");
c.startActivity(intent);
至此,你已经可以打开播放器并且播放视频了。但是你有没有发现播放的时候是非全屏播放的?那么我们需要考虑,是否由于参数未传递?我们去查找源码:
实际上我们启动的系统播放器是位于Gallery3D这个应用中的,我们去$AndroidSource\packages\apps\Gallery3D目录,找到src\com\cooliris\media的MovieView源码,发现onCreate中是设置了全屏的参数的:
if (intent.hasExtra(MediaStore.EXTRA_SCREEN_ORIENTATION)) {
int orientation = intent.getIntExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
if (orientation != getRequestedOrientation()) {
setRequestedOrientation(orientation);
}
}
那么接下来我们就可以修改我们的代码了:
Intent intent = new Intent(Intent.ACTION_VIEW);
String type = "video/mp4";
Uri name = Uri.parse(url);
intent.setDataAndType(name, type);
intent.setClassName("com.cooliris.media", "com.cooliris.media.MovieView");
putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
c.startActivity(intent);
至此,我们已经可以播放视频,并且打开后就是全屏播放的。
另外,在浏览器中点击视频一般是跳出关联应用的选择框供你挑选的,这个效果可以这样实现(这样就不用担心com.cooliris.media被卸载或者用户想用别的播放器打开但没有选择了):
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse(url));
c.startActivity(intent);
至此,该功能全部完成。
版权声明:本文标题:Android在应用中打开系统播放器_android打开手机播放器 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1774169656a3568637.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论