# 智能硬件

# 简介

智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能化的功能。智能化之后,硬件具备连接的能力,实现互联网服务的加载。主流智能硬件有手表、电视和部分电器。使用 JCSDK 实现手机和智能硬件之间互通时,针对手机端和智能硬件端需要设置不同的媒体模式。

# Android 手机和 Android 手表等设备互通时

当 Android 手机端和 Android 手表互通的时候,两端的集成方式类似,区别在于媒体模式的选择:

  1. 在发起通话前,调用 generateByMode (opens new window) 生成媒体配置参数 MediaConfig (opens new window) 对象。传入的参数即为媒体模式,不同的终端设备需要选择其对应的模式。

    终端 模式
    Android 手机 选择 MODE_INTELLIGENT_HARDWARE_LARGE 模式
    Android 手表 选择 MODE_INTELLIGENT_HARDWARE_SMALL 模式
  2. 调用 updateMediaConfig (opens new window) 更新媒体参数。

  3. 调用 call (opens new window) 发起通话。

Android 手机端示例代码:

// 1. 获取 MediaConfig
JCCall.MediaConfig mediaConfig = JCCall.MediaConfig.generateByMode(JCCall.MediaConfig.MODE_INTELLIGENT_HARDWARE_LARGE );
// 2. 更新 MediaConfig 属性
JCManager.getInstance().call.updateMediaConfig(mediaConfig);
// 3. 发起通话
JCManager.getInstance().call.call("对⽅账号", true, null);

# iOS 手机和 Android 手表等设备互通时

当 iOS 手机端和 Android 手表互通的时候,两端的集成方式类似,区别在于媒体模式的选择:

  1. 在发起通话前,调用 generateByMode (opens new window) 函数生成媒体配置参数 JCCallMediaConfig (opens new window) 对象。传入的参数即为媒体模式,不同的终端设备需要选择其对应的模式。

    终端 模式
    iOS 手机 选择 JCCallMediaConfigModeIntelligentHardware 模式
    Android 手表 选择 MODE_INTELLIGENT_HARDWARE_SMALL 模式
  2. 设置 JCCall 对象的 mediaConfig (opens new window) 属性。

  3. 调用 call (opens new window) 发起通话。

iOS 手机端示例代码

// 获取 JCCallMediaConfig 对象并更新 JCCall 对象的 mediaConfig 属性
JCManager.shared.call.mediaConfig = [JCCallMediaConfig generateByMode:JCCallMediaConfigModeIntelligentHardware];
// 发起语音呼叫
JCCallParam *param = [[JCCallParam alloc] init];
[call call:@"对方账号" video:false callParam:param];
最后更新时间: 2021/5/20上午10:18:37