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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/snailuncle2/article/details/114240640