autojs之录音

使用情景

录音

效果展示

原理

  1. 使用MediaRecorder录音

知识点学习

  1. 导入类
  2. 按钮左右平分布局
  3. 按钮点击事件
  4. 媒体文件的播放和停止
  5. 按钮文字的设置
  6. 权限检查
  7. 权限申请
  8. 录音参数设置
  9. 按钮touch事件
  10. 资源的释放

代码讲解

  1. 导入类
importClass(android.content.pm.PackageManager);
importClass("androidx.core.app.ActivityCompat");
importClass(android.media.MediaRecorder);
  1. ui
ui.layout(
  <vertical gravity="center">
    <text textSize="66sp" w="*" gravity="center" textStyle="bold">
      录音
    </text>
    <button id="btn" margin="20" textSize="35sp" w="300dp" h="300dp"></button>
    <horizontal weightSum="2" bg="#888888">
      <button id="play" layout_width="0dp" layout_weight="1" textSize="25sp">
        开始播放
      </button>
      <button id="stop" layout_width="0dp" layout_weight="1" textSize="25sp">
        停止播放
      </button>
    </horizontal>
  </vertical>
);
  1. 初始化一些变量
const voiceFilepath = "/sdcard/1.mp3";
files.createWithDirs(voiceFilepath);
const soundFile = new java.io.File(voiceFilepath);
let recorder = null;
let view = ui.btn;
  1. 判断是否有录音权限
function checkPermission() {
  let permissionName = "RECORD_AUDIO";
  let pm = context
    .getPackageManager()
    .checkPermission("android.permission." + permissionName, context.getPackageName());
  if (PackageManager.PERMISSION_GRANTED == pm) {
    return true;
  } else {
    return false;
  }
}
  1. 申请权限
function requestPermission(permissionName) {
  ActivityCompat.requestPermissions(activity, ["android.permission." + permissionName], 321);
}
  1. 设置按钮touch监听
  view.setOnTouchListener(function (view, event) {
    switch (event.getAction()) {
      case event.ACTION_DOWN:
        log("ACTION_DOWN");
        record();
        return true;
      case event.ACTION_UP:
        log("ACTION_UP");
        recognizeVoice();
        return true;
    }
    return true;
  });
  1. 媒体文件播放和停止
ui.play.click(function () {
  media.playMusic(soundFile.getAbsolutePath());
});
ui.stop.click(function () {
  media.stopMusic();
});
  1. 改变按钮文字内容
ui.btn.setText("按住录音\n松开识别");

查看项目代码

微信公众号 AutoJsPro教程

在这里插入图片描述

QQ群

747748653

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

牙叔教程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值