更新记录

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

参考文档

隐私、权限声明

1. 本插件需要申请的系统权限列表:

录音

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。