用做网页的技术做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 |
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/
部分内容来自网络投稿,如有侵权联系立删