智慧服务,成就美好体验 项目咨询

主页 > 服务与支持 > 开发平台 > 客户端SDK参考 > Windows Native SDK > 音视频呼叫 设备管理

入门使用

设备管理

更新时间:2019-11-20

描述

管理音视频设备,包括麦克风、扬声器和摄像头。

业务流程

获取音、视频设备列表

说明: 

应用程序在任何阶段均可以获取当前可用的音视频设备信息,为更方便地进行后继具体设备管理,建议应用程序在初始化阶段和系统检测到设备变化时,获取设备信息并保存维护。

  1. UI调用tsdk_get_devices()获取音频视频设备列表。
    说明: 
    • 获取麦克风列表时,device_type值为TSDK_E_DEVICE_MIC。
    • 获取扬声器列表时,device_type值为TSDK_E_DEVICE_SPEAKER。
    • 获取摄像头列表时,device_type值为TSDK_E_DEVICE_CAMERA。

    代码示例:

    //c code 
    TSDK_RESULT ret;
    ret = tsdk_get_devices(device_type, device_num, device_info);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("get devices failed. result=%#x", ret);
        return -1;
    }
    return TSDK_SUCCESS;
    
     

 

管理麦克风

说明: 

一般用于用户对麦克风进行设置和切换。

  1. UI调用tsdk_get_mic_index()获取当前使用的麦克风设备序号。
    说明: 

    设备序号与设备名称的对应关系在“获取音、视频设备列表”过程中获取,若应用程序已保存维护设备列表,可查询此列表。

    代码示例:

    //c code 
    ret = tsdk_get_mic_index(index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("get mic index failed. result=%#x", ret);
        return -1;
    }
    break;
    
     
  2. UI调用tsdk_set_mic_index()设置当前使用的麦克风设备序号。、
    代码示例:
    //c code
    ret = tsdk_set_mic_index(index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("set mic index failed. result=%#x", ret);
        return -1;
    }
    break;
    
     

 

管理扬声器

说明: 

一般用于用户对扬声器进行设置和切换。

  1. UI调用tsdk_get_speak_index()获取当前使用的扬声器设备序号。
    说明: 

    设备序号与设备名称的对应关系在“获取音、视频设备列表”过程中获取,若应用程序已保存维护设备列表,可查询此列表。

    代码示例:

    //c code 
    ret = tsdk_get_speak_index(index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("get speak index failed. result=%#x", ret);
        return -1;
    }
    break;
    
     
  2. UI调用tsdk_set_speak_index()设置当前使用的扬声器设备序号。

    代码示例:

    //c code 
    ret = tsdk_set_speak_index(index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("set speak index failed. result=%#x", ret);
        return -1;
    }
    break;
    
     

 

管理摄像头

说明: 

一般用于用户对摄像头进行设置和切换。

  1. UI调用tsdk_get_video_index()获取当前使用的摄像头设备序号。
    说明: 

    设备序号与设备名称的对应关系在“获取音、视频设备列表”过程中获取,若应用程序已保存维护设备列表,可查询此列表。

    代码示例:

    //c code 
    ret = tsdk_get_video_index(index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("get video index failed. result=%#x", ret);
        return -1;
    }
    break;
    
     
  2. UI调用tsdk_set_video_index()设置当前使用的摄像头设备序号。

    代码示例:

    //c code 
    ret = tsdk_set_video_index(index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("set video index failed. result=%#x", ret);
        return -1;
    }
    break;
    
     

 

管理输出音量

说明: 

获取和设置输出音量。

  1. UI调用tsdk_get_speak_volume()获取输出音量大小,取值范围为[0,100]。

    代码示例:

    //c code 
    TSDK_RESULT ret;
    ret = tsdk_get_speak_volume(volume);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("get speak volume failed. result=%#x", ret);
        return -1;
    }
    return TSDK_SUCCESS;
    
     
  2. UI调用tsdk_set_speak_volume()设置输出音量大小,取值范围为[0,100]。

    代码示例:

    //c code 
    TSDK_RESULT ret;
    ret = tsdk_set_speak_volume(volume);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("set speak volume failed. result=%#x", ret);
        return -1;
    }
    return TSDK_SUCCESS;
    
     

 

预览本地视频

说明: 

一般用于设备设置时,检测本地摄像头工作状态是否正常。

图1 预览本地视频流程 
  1. UI先创建本地预览窗口,再调用tsdk_open_video_preview()打开本地视频预览窗口,其中摄像头索引填写“获取音、视频设备列表”过程中获取到的摄像头索引。

    代码示例:

    //c code 
    TSDK_RESULT ret;
    ret = tsdk_open_video_preview(local_preview_wnd, index);
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("open video preview failed. result=%#x", ret);
        return -1;
    }
    return TSDK_SUCCESS;
    
     
  2. UI调用tsdk_close_video_preview()关闭本地视频预览窗口,同时销毁本地预览窗口。

    代码示例:

    //c code 
    TSDK_RESULT ret;
    ret = tsdk_close_video_preview();
    if (TSDK_SUCCESS != ret)
    {
        LOG_D_CALL_ERROR("close video preview failed. result=%#x", ret);
        return -1;
    }
    return TSDK_SUCCESS;
    
     

注意事项

无。