autojs之小白带你一步一步定制播放器

效果展示

播放器功能

  1. 截图
  2. 倍速播放
  3. 指定区域播放
  4. 开始, 停止, 暂停
  5. 播放电视cctv-1 cctv6
  6. 播放网络视频
  7. 播放本地视频

原理

atuojs调用七牛云直播sdk, 快速制作自己的播放器

七牛直播云官方文档

https://developer.qiniu.com/pili/1210/the-android-client-sdk\

PLDroidPlayer简介

PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单、快捷的接口,帮助开发者在 Android 平台上快速开发播放器应用。

步骤

  1. 界面

    "ui";
    ui.layout(<vertical></vertical>);
    
  2. 查看七牛云官方文档, 看看他们的sdk有什么功能

    1. 主流架构支持, 包括 arm64-v8a, armeabi-v7a 与 x86
    2. 后台播放, 退到后台只播放音频
    3. IP 地址播放, URL 格式:protocol://ip/path?domain=xxxx.com
    4. 设置播放封面, 在播放开始前显示封面 view
    5. 以上这些都不是核心功能
  3. 核心功能

    1. 播放视频
    2. 播放按钮
    3. 停止按钮
    4. 暂停按钮
    5. 倍速按钮
    6. 截图
    7. 暂时先实现以上功能, 其他功能可参考文档自行添加
  4. 修改ui

    文档中对PLMediaPlayer的介绍

    PLDroidPlayer SDK 提供的 PLMediaPlayer 实现了一个媒体播放器的各种基础功能和接口,与 Android 官方的 MediaPlayer 的设计基本保持一致。

    PLMediaPlayer 不是一个 View 控件,因此,如果希望用它播放视频而不是纯音频的话,则需要在布局文件中自己定义一个 SurfaceView 或者 TextureView 控件,然后将 Surface 或者 SurfaceHolder 传递给 PLMediaPlayer

    所以我们要添加一个surfaceView, 以及几个控制按钮

    ui.layout(
      <vertical gravity="center">
        <vertical bg="#000000">
          <horizontal>
            <button id="start">start</button>
            <button id="stop">stop</button>
            <button id="pause">pause</button>
          </horizontal>
          <horizontal>
            <button id="slower">slower</button>
            <button id="normal">normal</button>
            <button id="faster">faster</button>
          </horizontal>
          <horizontal>
            <button id="captureImage">captureImage</button>
          </horizontal>
          <text
            text="作者: 牙叔"
            margin="10"
            textSize="38sp"
            textStyle="bold"
            gravity="center"
            textColor="#ddffffff"
          ></text>
        </vertical>
        <frame android:layout_width="wrap_content" android:layout_height="wrap_content" bg="#ff00ff">
          <android.view.SurfaceView android:id="surfaceView" android:layout_gravity="center" />
        </frame>
      </vertical>
    );
    
    
  5. 创建PLMediaPlayer实例

    PLMediaPlayer mMediaPlayer = new PLMediaPlayer(mContext, mAVOptions);

    PLMediaPlayer这个类从哪里来?

    这个就是SDK, 包括两部分

    1. java类, 由adnroid studio 生成dex, dex中有我们需要的java类
    2. so, 官方仓库的releases文件夹中有
      1. libqcOpenSSL.so
      2. libQPlayer.so
  6. 加载类

    let dexPath = "./classes_merge.dex";
    runtime.loadDex(dexPath);
    importClass(com.pili.pldroid.player.PLMediaPlayer);
    importClass(com.pili.pldroid.player.PLOnCompletionListener);
    importClass(com.pili.pldroid.player.PLOnErrorListener);
    ...
    
  7. 加载so

    copyJniLibs();
    
  8. 创建PLMediaPlayer实例

    mMediaPlayer = new PLMediaPlayer(activity, getAVOptions());
    
  9. AVOptions

    PLDroidPlayer SDK 提供的 AVOptions 类,可以用来配置播放参数

    function getAVOptions() {
      mAVOptions = new AVOptions();
      // 超时
      mAVOptions.setInteger(AVOptions.KEY_PREPARE_TIMEOUT, 10 * 1000);
      ...
      return mAVOptions;
    }
    
  10. SurfaceHolder 传递给 PLMediaPlayer

    mMediaPlayer.setDisplay(mSurfaceView.getHolder());
    
  11. 网上找一个直播地址cctv-6, 看着好像差不多了, 试着播放一下

    
    mMediaPlayer.setDataSource(mVideoPath);
    mMediaPlayer.prepareAsync();
    setTimeout(function () {
      mMediaPlayer.start();
    }, 3000);
    
  12. 完美播放视频

  13. 以上就是最autojs使用七牛云SDK最简单的代码, 实际上你可能对音视频有更多的控制需求,

    不过demo跑通了, 添加其他功能, 问题都不大

  14. 播放视频代码仅仅150行, 相信你一定看的懂

微信公众号 AutoJsPro教程

在这里插入图片描述

QQ群

747748653


完整源码

点击查看

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
人体体液流水线是指在医学实验室或临床诊断中,对人体体液样本进行检测和分析的系统化流程。它可以涵盖多种体液样本,如血液、尿液、脑脊液、胸腹水等。下面将详细介绍体液生物检测的一般步骤,并介绍血液流变分析仪和全自动白一体机的工作原理。 1. 体液生物检测步骤: 1) 样本采集:通过采集器具或管道,从患者身体中获取所需的体液样本,如血液、尿液、脑脊液等。 2) 样本处理:对采集到的体液样本进行必要的处理,如离心沉淀、稀释、稀释等,以获取纯净的样本。 3) 样本分装:将处理后的样本分装到不同的试管或容器中,以便进行后续的检测和分析。 4) 检测与分析:使用各种仪器和试剂对样本进行检测和分析,如血细胞分析仪、生化分析仪、免疫分析仪等。 5) 数据处理与解读:将仪器检测到的数据进行处理和解读,得出相应的结果,并进行质控和质量评估。 2. 血液流变分析仪的工作原理: 血液流变分析仪是一种用于评估血液流变学特性的仪器,它可以测量血液在流动中的黏度、弹性和变形能力等参数。其工作原理如下: - 样本准备:将采集到的血液样本进行必要的处理,如抗凝和稀释。 - 测量过程:将处理后的血液样本注入到流变分析仪中,通过旋转、振荡或剪切等方式对血液样本进行物理操作,测量其在不同条件下的流变学特性。 - 数据分析:仪器会根据测量到的数据,计算出血液黏度、血浆黏度、血细胞聚集性等参数,并生成相应的报告。 3. 全自动白一体机的工作原理: 全自动白一体机是用于女性白检测的设备,它可以自动完成样本的采集、处理、染色和显微镜观察等步骤。其工作原理如下: - 样本采集:患者将自己的白样本采集到特定的容器中。 - 样本处理:将采集到的白样本放入全自动白一体机中,机器会自动进行离心、沉淀和稀释等处理步骤。 - 染色与观察:机器会将处理后的样本进行染色,然后通过显微镜观察和成像,以获取白细胞的数量、形态和结构等信息。 - 数据分析与报告:仪器会根据观察到的数据,计算出白细胞的数量和分类情况,并生成相应的报告。 以上便是人体体液流水线中体液生物检测的一般步骤,以及血液流变分析仪和全自动白一体机的工作原理。这些仪器和设备在临床诊断和医学研究中起到了重要的作用,提高了样本分析的效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牙叔教程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值