产品百科 | 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

相关文章
|
10月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
623 1
|
5月前
|
存储 网络安全 数据安全/隐私保护
|
10月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
547 2
|
7月前
|
数据可视化 API 开发工具
影创SDK☀️三、工程默认配置,及基础测试建议
影创SDK☀️三、工程默认配置,及基础测试建议
|
7月前
|
移动开发 JavaScript 开发工具
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
|
8月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
116 0
|
10月前
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
127 0
|
安全 数据安全/隐私保护 iOS开发
iMazing官网下载安装教程 2023最新版兼容Win和Mac的iOS设备管理软件
iMazing是一款功能强大的iOS设备管理软件,它可以帮助用户备份和管理他们的iPhone、iPad或iPod Touch上的数据。除此之外,它还可以将备份数据转移到新的设备中、管理应用程序、导入和导出媒体文件等。本文将详细介绍iMazing的功能和安全性,并教大家如何使用iMazing来恢复备份数据。
595 0
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
529 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
数据管理 文件存储 数据安全/隐私保护
iMazing2023最新版MAC苹果手机设备管理器
iMazing需要数据线将你的电脑和iPhone或者是iPad连接,这款软件是itunes的完美替代品,有用iPhone或iPad的朋们友推荐下载使用。只要在同一网络下,就可以轻松管理你的iPhone,可以说是非常的方便。平时在传输文件资料时,可以将iMazing充分利用起来,它可以对iQS设备进行强有力的管理。iMazing2023下载地址:http://t.csdn.cn/Vi3kj
223 0
iMazing2023最新版MAC苹果手机设备管理器

热门文章

最新文章