产品百科 | RTC Mac SDK 音视频设备测试说明

简介: RTC SDK 为您提供音视频设备测试的方法,您可以在音视频通话前检查当前设备上的摄像头,麦克风以及扬声器等音视频设备是否正常工作,以保证音视频通话质量。通过阅读本文,您可以了解音视频设备测试的方法。

摄像头测试

  1. 创建 SDK 实例后,应用层可以调用接口 getCameraList 获取当前设备上所有可用摄像头,返回设备列表中包含设备 ID 及设备名称,应用层可选择通过设备名称或设备 ID 进行判断,并通过接口 setCurrentCamerasetCurrentCameraWithID 选中需要测试的设备。
NSArray *camList = [self.engine getCameraList];
// 设备名称
NSString *matchDeviceName = /*测试设备名*/;
int camCount = (int)camList.count;
for(int i=0; i<camCount; i++) {
    AliRtcDeviceInfo *deviceInfo = [camList objectAtIndex:i];
    NSString *name = deviceInfo.deviceName;
    if ([name isEqualToString:matchDeviceName]) {
        [self.engine setCurrentCamera:matchDeviceName];
    }
}
// 设备ID
NSString *matchDeviceId = /*测试设备ID*/;
int camCount = (int)camList.count;
for(int i=0; i<camCount; i++) {
    AliRtcDeviceInfo *deviceInfo = [camList objectAtIndex:i];
    NSString *deviceID = deviceInfo.deviceId;
    if ([deviceID isEqualToString:matchDeviceId]) {
        [self.engine setCurrentCameraWithID:matchDeviceId];
    }
}
  1. 设置测试摄像头设备之后,通过 setLocalViewConfig 接口可以设置预览显示窗口,再启动预览,即可通过预览画面是否正常显示,判断当前摄像头设备是否正常工作。
// 设置预览窗口
AliVideoCanvas *canvas = [[AliVideoCanvas alloc] init];
canvas.renderMode = renderMode;
canvas.view = (AliRenderView *)view;
canvas.mirrorMode = mirrorMode;
[self.engine setLocalViewConfig:canvas forTrack:AliRtcVideoTrackCamera];
[self.engine startPreview];

麦克风测试

  1. 开始测试前,通过接口 getAudioCaptures 获取当前设备上所有可用麦克风设备,返回设备列表中将同时返回设备 ID 及设备名称,应用层可选择通过设备名称调用接口 startTestAudioRecordWithName 进行麦克风测试,测试开始后会收到 onAudioDeviceRecordLevel 回调,接收麦克风测试时返回的音量值。
// 开始测试
NSArray *audioList = [self.engine getAudioCaptures];
AliRtcDeviceInfo *deviceInfo = audioList[0];
[self.engine startTestAudioRecordWithName:deviceInfo.deviceName];
// 回调
- (void)onAudioDeviceRecordLevel:(int)level {
    dispatch_async(dispatch_get_main_queue(), ^{
        NSLog(@"麦克风音量值:%d", level);
    });
}
  1. 测试完成后,调用接口 stopTestAudioRecord 停止麦克风测试。
[self.engine stopTestAudioRecord];

扬声器测试

  1. 开始测试前,通过接口 getAudioRenderers 获取当前设备上所有可用扬声器设备,返回设备列表中将同时返回设备 ID 及设备名称,应用层可选择通过设备名称调用接口 startTestAudioPlayoutWithName 进行扬声器测试,测试开始后会收到 onAudioDevicePlayoutLevel 回调,接收扬声器测试时返回的音量值。
// 开始测试
NSArray *speakerList = [self.engine getAudioRenderers];
AliRtcDeviceInfo *deviceInfo = speakerList[0];
[self.engine startTestAudioPlayoutWithName:deviceInfo.deviceName filePath:path loopCycles:0];
// 回调
- (void)onAudioDevicePlayoutLevel:(int)level {
    dispatch_async(dispatch_get_main_queue(), ^{
        NSLog(@"扬声器音量值:%d", level);
    });
}

  1. 说明 目前扬声器测试播放文件只支持 Wave 格式,传入路径需要为绝对路径,并保证可以被读取访问。
  2. 测试完成或接收到文件播放结束事件回调后,调用 stopTestAudioPlayout 接口停止扬声器测试。
[self.engine stopTestAudioPlayout];


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png

相关文章
|
文字识别 算法 API
视觉智能开放平台产品使用合集之支持的离线SDK有哪些
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
292 2
视觉智能开放平台产品使用合集之支持的离线SDK有哪些
|
SQL Java 关系型数据库
实时数仓 Hologres产品使用合集之如何安装和使用Java SDK
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之sdk的下载地址在哪里
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
API 开发工具 图形学
影创SDK☀️六、讲讲SDK如何适配不同型号的设备控制器
影创SDK☀️六、讲讲SDK如何适配不同型号的设备控制器
|
移动开发 JavaScript 开发工具
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
|
存储 监控 API
视觉智能开放平台产品使用合集之人脸识别服务端的离线SDK是什么
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
288 0
|
10月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
1025 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
2699 12