Appearance
使用方法
安卓音频原生插件,支持本地和网络音频播放进度监听,获取音频时长等,支持录音,支持自定义录音参数
联系作者

关注微信公众号可联系作者
插件地址
https://ext.dcloud.net.cn/plugin?id=14803
权限
音频操作
- android.permission.INTERNET
- android.permission.ACCESS_NETWORK_STATE
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.WRITE_EXTERNAL_STORAGE
录音操作
- android.permission.RECORD_AUDIO
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.WRITE_EXTERNAL_STORAGE
用法
音频操作
在需要使用插件的页面加载以下代码
js
const module = uni.requireNativePlugin("leven-audio-AudioModule");录音操作
在需要使用插件的页面加载以下代码
js
const recordModule = uni.requireNativePlugin("leven-audio-RecordModule");页面内容
vue
<template>
<view>
<uni-card title="安卓音频操作原生插件——音频播放">
<button type="primary" @click="requestPermission">存储权限</button>
<button type="primary" @click="play">播放音频</button>
<button type="primary" @click="setSeek">设置播放位置</button>
<button type="primary" @click="onPlayListener">监听播放进度</button>
<button type="primary" @click="getCurrentPosition">获取当前播放位置</button>
<button type="primary" @click="pause">暂停播放</button>
<button type="primary" @click="replay">继续播放</button>
<button type="primary" @click="stop">停止播放</button>
<button type="primary" @click="getDuration">音频时长</button>
</uni-card>
<uni-card title="安卓音频操作原生插件——录音">
<button type="primary" @click="recorderPermission">麦克风权限</button>
<button type="primary" @click="startRecorder">开始录音</button>
<button type="primary" @click="stopRecorder">结束录音</button>
</uni-card>
</view>
</template>
<script>
const module = uni.requireNativePlugin("leven-audio-AudioModule");
const recordModule = uni.requireNativePlugin("leven-audio-RecordModule");
export default {
data() {
return {
// 当前播放音乐的索引
playIndex: 0
}
},
methods: {
// 存储权限
requestPermission() {
module.requestPermission(res => {
console.log(res)
});
},
// 播放音频
play() {
let pathArr = [
"/storage/emulated/0/Download/WeiXin/赵雷-成都.mp3",
"/storage/emulated/0/Download/WeiXin/刀郎-西海情歌.mp3",
"http://www.yeyuboke.com/svga/刘德华-孤星泪.mp3"
];
let index = this.playIndex % pathArr.length;
module.play({
url: pathArr[index]
}, res => {
this.playIndex++;
console.log(res)
//这里可以监听播放进度
// this.onPlayListener();
});
},
// 设置播放位置
setSeek() {
module.setSeek({
seek: 90
}, res => {
console.log(res)
});
},
// 监听播放进度
onPlayListener() {
module.onPlayListener(res => {
console.log(res)
});
},
// 获取当前播放位置
getCurrentPosition() {
module.getCurrentPosition(res => {
console.log(res)
});
},
// 暂停播放
pause() {
module.pause(res => {
console.log(res)
});
},
// 继续播放
replay() {
module.replay(res => {
console.log(res)
});
},
// 停止播放
stop() {
module.stop(res => {
console.log(res)
});
},
// 获取音频时长
getDuration() {
module.getDuration({
path: "/storage/emulated/0/Download/WeiXin/赵雷-成都.mp3"
}, res => {
console.log(res)
});
},
// 麦克风权限
recorderPermission() {
recordModule.requestPermission(res => {
console.log(res)
})
},
// 开始录音
startRecorder() {
recordModule.start({
saveDir: "/storage/emulated/0/leven_file"
}, res => {
console.log(res)
})
},
// 结束录音
stopRecorder() {
recordModule.stop(res => {
console.log(res)
})
}
}
}
</script>
<style>
</style>