|
调用系统播放器开源
<火山程序 类型 = "通常" 版本 = 1 />
变量 小米播放器 <类型 = 文本型 值 = "com.miui.video">
变量 华为播放器 <类型 = 文本型 值 = "com.huawei.hwmw.play">
变量 魅族播放器 <类型 = 文本型 值 = "com.meizu.media.video">
变量 三星播放器 <类型 = 文本型 值 = "com.samsung.android.videoplayer">
变量 OPPO播放器 <类型 = 文本型 值 = "com.oppo.music">
变量 VIVO播放器 <类型 = 文本型 值 = "com.android.gallery3d">
变量 一加播放器 <类型 = 文本型 值 = "com.oneplus.gallery">
方法 调用系统播放器 <公开
@java.导入 = "android.content.Intent\nandroid.content.pm.PackageManager\nandroid.content.pm.ResolveInfo\nandroid.net.Uri\nandroid.os.Bundle\nandroid.view.View\nandroid.widget.Button\njava.util.List">
参数 欲窗口 <类型 = 安卓窗口>
参数 播放地址 <类型 = 文本型>
参数 系统播放器包名 <类型 = 文本型 @默认值 = "com.miui.video">
{
@ Uri videoUri = Uri.parse(@<播放地址>); // 在线视频URL
@ Intent intent = new Intent(Intent.ACTION_VIEW, videoUri);
@ intent.setDataAndType(videoUri, "video/*");
@ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
@ intent.setPackage(@<系统播放器包名>);//使用指定播放器
@ PackageManager packageManager = getPackageManager();
@ List<ResolveInfo> resolvedActivities = packageManager.queryIntentActivities(intent, 0);
@ boolean foundPlayer = false;
@ for (ResolveInfo resolvedActivity : resolvedActivities) {
@ if (resolvedActivity.activityInfo.packageName.equals(@<系统播放器包名>)) {
@ intent.setPackage(resolvedActivity.activityInfo.packageName);
@ foundPlayer = true;
@ break;
@ };
@ };
@ if (foundPlayer) {
@ @<欲窗口>.startActivity(intent);
@ } else {
@ // 没有找到特定的视频播放器,显示错误提示或使用其他视频播放方式
@ };
}
|
|