更新记录
1.0.5(2025-10-20)
下载此版本
首次发布,详细请查看 ZEGO 官网。
平台兼容性
uni-app(4.27)
Vue2 |
Vue2插件版本 |
Vue3 |
Vue2插件版本 |
Chrome |
Safari |
app-vue |
app-vue插件版本 |
app-nvue |
app-nvue插件版本 |
Android |
Android插件版本 |
iOS |
iOS插件版本 |
鸿蒙 |
√ |
1.0.5 |
√ |
1.0.5 |
× |
× |
√ |
1.0.5 |
√ |
1.0.5 |
5.0 |
1.0.5 |
12 |
1.0.5 |
× |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(4.27)
Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
- |
- |
- |
- |
- |
- |
zego-zim-audio-uts
开发文档
Native App 开发
使用 SDK
import { IZIMAudio, ZIMAudio, ZIMAudioRecordConfig, ZIMAudioPlayConfig, ZIMAudioANSParam } from '@/uni_modules/zego-zim-audio-uts';
// 录音文件存放的绝对路径
let filePath = '';
// 创建实例
const zimAudio = ZIMAudio.getInstance();
zimAudio.onError((res) => console.log('onError: ' + JSON.stringify(res)));
zimAudio.onRecorderStarted(() => {
console.log('onRecorderStarted');
setTimeout(() => {
zimAudio.isRecording().then((res) => console.log('isRecording: ' + res));
zimAudio.completeRecord().then(async () => {
// 录制完成后,可播放录音文件
await zimAudio.setAudioRouteType(0);
await zimAudio.startPlay({ filePath, routeType: 0 } as ZIMAudioPlayConfig);
// zimAudio.uninit();
});
// zimAudio.cancelRecord();
}, 10 * 1000);
});
zimAudio.onRecorderCancelled(() => console.log('onRecorderCancelled'));
zimAudio.onRecorderCompleted((res) => console.log('onRecorderCompleted: ' + res));
zimAudio.onRecorderProgress((res) => console.log('onRecorderProgress: ' + res));
zimAudio.onRecorderFailed((res) => console.log('onRecorderFailed: ' + res));
zimAudio.onPlayerStarted((res) => {
console.log('onPlayerStarted: ' + res);
setTimeout(() => {
zimAudio.isPlaying().then((res) => console.log('isPlaying: ' + res));
zimAudio.stopPlay();
}, 5 * 1000);
});
zimAudio.onPlayerInterrupted(() => console.log('onPlayerInterrupted'));
zimAudio.onPlayerStopped(() => console.log('onPlayerStopped'));
zimAudio.onPlayerEnded(() => console.log('onPlayerEnded'));
zimAudio.onPlayerProgress((res) => console.log('onPlayerProgress: ' + res));
zimAudio.onPlayerFailed((res) => console.log('onPlayerFailed: ' + res));
// 参考 ZEGO 文档,https://doc-zh.zego.im/zim-server/zim-audio/obtain-a-license 接口用以上配置生成的鉴权
const license = '';
// ZIMAudio.setAdvancedConfig('audio_session_do_nothing', 'true');
await zimAudio.initWithLicense(license);
// ZIMAudio.setAdvancedConfig('audio_session_mix_with_others', 'true');
await zimAudio.enableAGC(true);
await zimAudio.enableANS(true);
await zimAudio.setANSParam({ mode: 1 } as ZIMAudioANSParam);
// #ifdef APP-ANDROID
const apkName = ''; // apk 包名
filePath = '/storage/emulated/0/Android/data/' + apkName + '/test.mp3';
// Android 平台:请求录制权限
const permissionCheck = ["android.permission.RECORD_AUDIO"]
if (!UTSAndroid.checkSystemPermissionGranted(UTSAndroid.getUniActivity()!, permissionCheck)) {
UTSAndroid.requestSystemPermission(
UTSAndroid.getUniActivity()!,
permissionCheck,
function (allRight : boolean, _ : string[]) {
if (allRight) {
zimAudio.startRecord({ filePath, maxDuration: 1 * 60 * 1000 } as ZIMAudioRecordConfig)
}
},
function (all : boolean, _ : string[]) {
//用户拒绝了部分权限
});
} else {
zimAudio.startRecord({ filePath, maxDuration: 1 * 60 * 1000 } as ZIMAudioRecordConfig);
}
// #endif
// 通过以下 swift 代码获取文件目录
// import Foundation;
// func getSandboxDirectory() -> String {
// // temporaryDirectory cachesDirectory documentDirectory
// return FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].path
// }
// filePath = getSandboxDirectory();
// #ifdef APP-IOS
filePath = filePath + '/test.mp3';
zimAudio.startRecord({ filePath, maxDuration: 1 * 60 * 1000 } as ZIMAudioRecordConfig);
// #endif
参考文档