ゞ情非得已Sky 发表于 2023-10-17 11:20:59

调用系统播放器开源

调用系统播放器开源

<火山程序 类型 = "通常" 版本 = 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 {
    @             // 没有找到特定的视频播放器,显示错误提示或使用其他视频播放方式
    @         };



}





一鸣惊人 发表于 2023-10-17 11:24:00

66

zmq 发表于 2023-10-17 11:25:27

666                              

xqnh520 发表于 2023-10-17 12:00:22

牛牛牛

howill2021 发表于 2023-10-17 13:28:34

大佬牛皮,支持{:3_62:}
如果把系统的厂商自动识别加入进去就完美了
页: [1]
查看完整版本: 调用系统播放器开源