APP录音功能开发 startRecord 开始录音

isCanceled //布尔类型,是否已取消录音(如取消,APP会删除录音,不可回放,不可上传),只有 isCanceled 为 false 时录音才可用

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

startRecord 开始录音

• 本接口会自动请求录音权限,未授权则无法录音;

• 你可先调用 jsBridge.requestPermissions([“Microphone”]) 请求授权或判断是否已始终拒绝;

• 如果没有权限可调用 jsBridge.appSettings() 跳转到APP设置界面提示用户开启权限;

• Android 录音为 MPEG4 格式,AAC 编码;

//APP 端始终只保留一个录音文件,执行 startRecord 将覆盖已有录音。
jsBridge.audioRecorder.startRecord({
  //必须,数字类型,最大录音时长(秒)
  maxDuration: 60,
  //可选,布尔类型,是否隐藏 APP 自带的 UI(录音话筒),默认 false
  //设为 true 可以不用APP自带的UI,自己设计 HTML 录音界面即可
  hiddenUI   : false,
  //可选,字符串类型,音源,默认 mic 麦克风
  //mic   麦克风
  //voice 语音通信(仅用于语音通话,不然可能引发闪退)
  source     : "mic"
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

/**
回调事件(需调用 setListener 监听)
event
  10 //录音进度,每秒回调一次
     data: {
       duration   :, //数字类型,已录音长度(秒)
       maxDuration:  //数字类型,最大可录音长度
     }
  11 //达到设置的最大录音长度(maxDuration),停止录音
     data: {
        duration    //数字类型,实际录音长度(秒)
     }
  12 //声波振幅,每200毫秒回调一次,可用于制作跳动的波形图
     data: {
        amplitude    //数字类型,声波振幅
     }
  13 //已停止录音
     data: {
        duration    //数字类型,实际录音长度(秒)
        isCanceled  //布尔类型,是否已取消录音(如取消,APP会删除录音,不可回放,不可上传),只有 isCanceled 为 false 时录音才可用。
     }
**/

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//APP 端始终只保留一个录音文件,执行 startRecord 将覆盖已有录音。
jsBridge.audioRecorder.startRecord({
  //必须,数字类型,最大录音时长(秒)
  maxDuration: 60,
  //可选,布尔类型,是否隐藏 APP 自带的 UI(录音话筒),默认 false
  //设为 true 可以不用APP自带的UI,自己设计 HTML 录音界面即可
  hiddenUI   : false,
  //可选,字符串类型,音源,默认 mic 麦克风
  //mic   麦克风
  //voice 语音通信(仅用于语音通话,不然可能引发闪退)
  source     : "mic"
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

/**
回调事件(需调用 setListener 监听)
event
  10 //录音进度,每秒回调一次
     data: {
       duration   :, //数字类型,已录音长度(秒)
       maxDuration:  //数字类型,最大可录音长度
     }
  11 //达到设置的最大录音长度(maxDuration),停止录音
     data: {
        duration    //数字类型,实际录音长度(秒)
     }
  12 //声波振幅,每200毫秒回调一次,可用于制作跳动的波形图
     data: {
        amplitude    //数字类型,声波振幅
     }
  13 //已停止录音
     data: {
        duration    //数字类型,实际录音长度(秒)
        isCanceled  //布尔类型,是否已取消录音(如取消,APP会删除录音,不可回放,不可上传),只有 isCanceled 为 false 时录音才可用。
     }
**/
}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//APP 端始终只保留一个录音文件,执行 startRecord 将覆盖已有录音。
jsBridge.audioRecorder.startRecord({
  //必须,数字类型,最大录音时长(秒)
  maxDuration: 60,
  //可选,布尔类型,是否隐藏 APP 自带的 UI(录音话筒),默认 false
  //设为 true 可以不用APP自带的UI,自己设计 HTML 录音界面即可
  hiddenUI   : false,
  //可选,字符串类型,音源,默认 mic 麦克风
  //mic   麦克风
  //voice 语音通信(仅用于语音通话,不然可能引发闪退)
  source     : "mic"
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

/**
回调事件(需调用 setListener 监听)
event
  10 //录音进度,每秒回调一次
     data: {
       duration   :, //数字类型,已录音长度(秒)
       maxDuration:  //数字类型,最大可录音长度
     }
  11 //达到设置的最大录音长度(maxDuration),停止录音
     data: {
        duration    //数字类型,实际录音长度(秒)
     }
  12 //声波振幅,每200毫秒回调一次,可用于制作跳动的波形图
     data: {
        amplitude    //数字类型,声波振幅
     }
  13 //已停止录音
     data: {
        duration    //数字类型,实际录音长度(秒)
        isCanceled  //布尔类型,是否已取消录音(如取消,APP会删除录音,不可回放,不可上传),只有 isCanceled 为 false 时录音才可用。
     }
**/

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/8039/

部分内容来自网络投稿,如有侵权联系立删

(0)
上一篇 2022年9月21日 下午4:33
下一篇 2022年9月21日 下午4:38