autojs之七牛直播云

使用场景

 

播放视频, 更多控制

 

效果展示

 

 

autoj版本

 

 

代码还有些许bug, 仅作为demo学习

 

原理

 

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

 

autojs使用该sdk可以对视频有更多的操作

 

七牛直播云官方文档

 

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

 

知识点

 

  1. sdk转dex
  2. 判断cpuabi
  3. surfaceView布局
  4. 获取so文件夹路径
  5. 添加so
     
  6. 按钮事件监听
  7. 资源释放
  8. 脚本生命周期
  9. 打印对象属性
  10. java代码改为autojs代码

 

代码讲解

 

1. 布局

ui.layout(
  <vertical background="#000000" gravity="center">
    <frame android:layout_width="wrap_content" android:layout_height="wrap_content">
      <android.view.SurfaceView android:id="surfaceView" android:layout_gravity="center" />
    </frame>
    <text text="作者: 牙叔" margin="10" textSize="50sp" textStyle="bold" gravity="center" textColor="#ddffffff"></text>
    <horizontal>
      <button id="play">play</button>
      <button id="stop">stop</button>
      <horizontal></horizontal>
      <button id="pause">pause</button>
      <button id="resume">resume</button>
    </horizontal>
    <button id="statInfo">statInfo</button>
    <button id="loading">loading</button>
  </vertical>
);

 

 

 

2. 复制so文件

copyJniLibs();

 

3. 定义全局变量

let TAG = "视频播放测试";
let mSurfaceView;
let mMediaPlayer;
let mLoadingView;
let mAVOptions;
let mStatInfoTextView;
let mSurfaceWidth = 0;
let mSurfaceHeight = 0;
let mVideoPath = null;
let mIsStopped = false;
let mToast = null;
let mLastUpdateStatTime = 0;
let mDisableLog = false;
let isLiveStreaming = false;
mLoadingView = ui.loading;

 

4. 添加各种按钮点击事件

ui.play.click(function () {
  if (mIsStopped) {
    prepare();
  } else {
    mMediaPlayer.start();
  }
});

 

5. 退出时, 释放资源

events.on("exit", () => {
  log("开始释放资源");
  release();
  let audioManager = context.getSystemService(context.AUDIO_SERVICE);
  audioManager.abandonAudioFocus(null);
  log("结束释放资源");
  log("exit");
});

 

6. mMediaPlayer设置监听

mMediaPlayer.setOnVideoSizeChangedListener(getOnVideoSizeChangedListener());
mMediaPlayer.setOnCompletionListener(getOnCompletionListener());
mMediaPlayer.setOnErrorListener(getOnErrorListener());

 

7. 生成监听的函数

function getOnCompletionListener() {
  return new JavaAdapter(PLOnCompletionListener, {
    onCompletion: function () {
      log(TAG, "Play Completed !");
      Utils.showToastTips(activity, "Play Completed !");
      log("finish");
    },
  });
}

 

8. 大致就以上步骤

9. 本项目需要先用安卓项目生成dex, autojs才能使用sdk

10. 所以有两个仓库, 一个安卓, 一个autojs

 

查看完整源码

完整源码

 

微信公众号 AutoJsPro教程

 

 

QQ群

747748653

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

牙叔教程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值