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

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

入门使用

音视频呼叫

更新时间:2019-12-10

音频呼叫

接口名称

接口描述

tsdk_start_call

发起呼叫。

tsdk_end_call

结束呼叫。

tsdk_accept_call

接听呼叫。

tsdk_send_dtmf

二次拨号。

tsdk_hold_call

保持通话。

tsdk_unhold_call

恢复通话。

视频呼叫

接口名称

接口描述

tsdk_set_video_window

设置视频窗口。

tsdk_set_video_orient

设置视频方向。

tsdk_add_video

添加视频。

tsdk_del_video

删除视频。

tsdk_reply_add_video

响应添加视频请求。

tsdk_video_control

视频控制。

tsdk_set_video_render

设置视频窗口属性。

tsdk_set_capture_rotation

设置摄像头采集方向。

tsdk_set_display_rotation

设置窗口显示方向。

tsdk_set_camera_picture

设置摄像头图片。

tsdk_set_svc_video_window

设置SVC会议视频窗口信息。

tsdk_get_call_statistic_info

获取呼叫统计信息。

设备管理

接口名称

接口描述

tsdk_mute_mic

闭音麦克风。

tsdk_get_devices

获取设备列表。

tsdk_set_mic_index

设置麦克风序号。

tsdk_get_mic_index

获取麦克风序号。

tsdk_set_speak_index

设置扬声器序号。

tsdk_get_speak_index

获取扬声器序号。

tsdk_set_video_index

设置视频序号。

tsdk_get_video_index

获取视频序号。

tsdk_set_speak_volume

设置输出音量。

tsdk_get_speak_volume

获取输出音量。

tsdk_open_video_preview

打开本地预览窗口。

tsdk_close_video_preview

关闭本地预览窗口。

媒体

接口名称

接口描述

tsdk_start_play_media

开始播放音频文件。

tsdk_stop_play_media

停止播放音频文件。

tsdk_start_call

接口描述

发起一路普通VOIP呼叫。

注意事项

呼叫ID作为一路通话的唯一标示,UI应保存并管理,以用于后继的呼叫相关操作。

方法定义

TSDK_API TSDK_RESULT tsdk_start_call(OUT TSDK_UINT32 *callid, IN const TSDK_CHAR* callee_number, IN TSDK_BOOL is_video)
 

参数描述

参数名

是否必须

类型

描述

[out] callid

TSDK_UINT32 *

呼叫的ID,标识唯一的呼叫。

[in] callee_number

const TSDK_CHAR*

被叫号码,最大有效长度255。

[in] is_video

TSDK_BOOL

是否发起视频呼叫。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_start_call(&callid, call_number, FALSE);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("start call failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_end_call

接口描述

结束和其他用户的通话或者来电。通话双方均可以主动结束呼叫。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_end_call(IN TSDK_UINT32 call_id);  
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_end_call(callid);
if(TSDK_SUCCESS != ret)
{
   LOG_D_CALL_ERROR("end call failed. result=%#x", ret);
   return -1;
}
return TSDK_SUCCESS;
 

tsdk_accept_call

接口描述

被叫方收到呼叫请求时,调用该接口接听呼叫。

注意事项

若被叫方需要拒绝接听呼叫,则需要调用tsdk_end_call()接口。

方法定义

TSDK_API TSDK_RESULT tsdk_accept_call(IN TSDK_UINT32 call_id, IN TSDK_BOOL is_video);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[in] is_video

TSDK_BOOL

是否接听视频呼叫。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_accept_call(callid, (TSDK_BOOL)isVideo);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("accept call failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_send_dtmf

接口描述

一些业务场景中,用户需要通过终端按键与网络进行交互,如充值、拨打总机后再拨打分机号码、拨打客服中心号码等。本接口用于在通话中发送二次拨号信息,每调用一次发送一次信号。

注意事项

  • 处于通话中才可以发送二次拨号信息。
  • TSDK不提供DTMF按键音功能。为了实现更友好的最终用户体验,UI应同步调用SDK提供的媒体播放接口或系统提供的播放接口,实现播放DTMF按键音。

方法定义

TSDK_API TSDK_RESULT tsdk_send_dtmf(IN TSDK_UINT32 call_id, IN TSDK_E_DTMF_TONE tone);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[in] tone

TSDK_E_DTMF_TONE

DTMF键值。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_send_dtmf(callid, tone);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("send dtmf failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_hold_call

接口描述

保持通话。

注意事项

  • 处于通话中才可以调用该接口。
  • 视频通话被保持时,视频将会自动被关闭,恢复时,视频将会自动打开。

方法定义

TSDK_API TSDK_RESULT tsdk_hold_call(IN TSDK_UINT32 call_id);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_hold_call(callid);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("hold failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_unhold_call

接口描述

取消保持通话(恢复通话)。

注意事项

  • 处于通话保持状态才可以调用该接口。
  • 因通话双方均可以在本端处于通话态发起保持操作,即通话可能会处于双向保持态,在任一保持方发起恢复通话时,仅能恢复本端通话状态,不会恢复对端的通话状态。
  • 视频通话双向保持状态中,任一方先恢复通话,不会自动打开视频;双方均恢复通话后,视频才会打开。

方法定义

TSDK_API TSDK_RESULT tsdk_unhold_call(IN TSDK_UINT32 call_id);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_unhold_call(callid);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("unhold failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_set_video_window

接口描述

用户建立视频呼叫时,调用本接口设置视频窗口与呼叫的绑定关系。

如果用户仅选择音频接听,则无需调用此接口。

注意事项

呼叫存在时,callid填写对应的有效值;呼叫不存在(未建立,主叫呼出时),callid填写非法值。

方法定义

TSDK_API TSDK_RESULT tsdk_set_video_window(IN TSDK_UINT32 call_id, IN TSDK_UINT32 count, IN const TSDK_S_VIDEO_WND_INFO *window);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[in] count

TSDK_UINT32

窗口个数,一般为2。

[in] window

const TSDK_S_VIDEO_WND_INFO *

视频窗口信息。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
TSDK_S_VIDEO_WND_INFO video_window_info[SERVICE_CALL_D_VIDEO_WINDOW_NUM] = { TSDK_E_VIDEO_WND_REMOTE };

video_window_info[TSDK_E_VIDEO_WND_LOCAL].render = (TSDK_UINT32)local_video_wnd;
video_window_info[TSDK_E_VIDEO_WND_LOCAL].video_wnd_type = TSDK_E_VIDEO_WND_LOCAL;
video_window_info[TSDK_E_VIDEO_WND_LOCAL].index = 1;
video_window_info[TSDK_E_VIDEO_WND_LOCAL].display_mode = TSDK_E_VIDEO_WND_DISPLAY_FULL;

video_window_info[TSDK_E_VIDEO_WND_REMOTE].render = (TSDK_UINT32)remote_video_wnd;
video_window_info[TSDK_E_VIDEO_WND_REMOTE].video_wnd_type = TSDK_E_VIDEO_WND_REMOTE;
video_window_info[TSDK_E_VIDEO_WND_REMOTE].index = 0;
video_window_info[TSDK_E_VIDEO_WND_REMOTE].display_mode = TSDK_E_VIDEO_WND_DISPLAY_FULL;

ret = tsdk_set_video_window(callid, SERVICE_CALL_D_VIDEO_WINDOW_NUM,video_window_info);
if( TSDK_SUCCESS != ret )
{ 
    LOG_D_CALL_ERROR("set video window info failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_set_video_orient

接口描述

设置移动视频设备。

注意事项

用于移动设备。

方法定义

TSDK_API TSDK_RESULT tsdk_set_video_orient(IN TSDK_UINT32 call_id, IN TSDK_UINT32 index, IN TSDK_S_VIDEO_ORIENT *video_orient);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

[in] index

TSDK_UINT32

设备(摄像头)索引。

[in] video_orient

TSDK_S_VIDEO_ORIENT *

视频方向(横竖屏)参数。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_UINT32 confHandle = get_data_conf_handle();
TSDK_RESULT ret;
ret = tsdk_set_video_orient(callId,index,videoOrient);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("set video orient failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_add_video

接口描述

发起添加视频(音频转视频呼叫)请求。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_add_video(IN TSDK_UINT32 call_id);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_add_video(callid);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("add video failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_del_video

接口描述

发起删除视频(视频转音频呼叫)请求。

注意事项

前提条件:视频通话已建立,主被叫正在通话中。

方法定义

TSDK_API TSDK_RESULT tsdk_del_video(IN TSDK_UINT32 call_id);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_del_video(callid);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("delete video failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_reply_add_video

接口描述

对方请求音频转视频呼叫时,本方选择同意或者拒绝。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_reply_add_video(IN TSDK_UINT32 call_id, IN TSDK_BOOL is_accept);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[in] is_accept

TSDK_BOOL

是否同意音频转视频呼叫的请求。

  • true:同意
  • false:拒绝

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_reply_add_video(callid,isAccept);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("reply add video failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_video_control

接口描述

该接口用于控制暂停或继续视频采集。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_video_control(IN TSDK_UINT32 call_id, IN TSDK_S_VIDEO_CTRL_INFO *video_control);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

[in] video_control

TSDK_S_VIDEO_CTRL_INFO*

视频控制参数。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;

TSDK_S_VIDEO_CTRL_INFO videoControl;
videoControl.is_sync = TRUE;
videoControl.object = TSDK_E_VIDEO_CTRL_CAMERA | TSDK_E_VIDEO_CTRL_LOCAL_WND;

if(isStop)
{ 
   videoControl.operation = TSDK_E_VIDEO_CTRL_STOP;
}
else
{
   videoControl.operation = TSDK_E_VIDEO_CTRL_START;
}

ret = tsdk_video_control(callid,&videoControl);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("control video failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_set_video_render

接口描述

该接口用于设置视频显示窗口属性。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_set_video_render(IN TSDK_UINT32 call_id, IN const TSDK_S_VIDEO_RENDER_INFO* video_render);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

[in] video_render

TSDK_S_VIDEO_RENDER_INFO*

视频显示窗口属性。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_UINT32 confHandle = get_data_conf_handle();
TSDK_RESULT ret;
ret = tsdk_set_video_render(callId,videoRender);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("set video render failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_set_capture_rotation

接口描述

该接口用于设置摄像头采集方向。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_set_capture_rotation(IN TSDK_UINT32 call_id, IN TSDK_UINT32 camera_index, IN TSDK_UINT32 capture_rotation);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

[in] camera_index

TSDK_UINT32

采集设备(摄像头)索引。

[in] capture_rotation

TSDK_UINT32

摄像头采集角度 {0,1,2,3} 仅对移动平台有效,默认为0。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_set_capture_rotation(callId, cameraIndex, captureRotation);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("set capture rotation failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;  
 

tsdk_set_display_rotation

接口描述

该接口用于设置窗口显示方向。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_set_display_rotation(IN TSDK_UINT32 call_id, IN TSDK_E_VIDEO_WND_TYPE window_type, IN TSDK_UINT32 display_rotation);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

[in] window_type

TSDK_E_VIDEO_WND_TYPE

视频窗口类型。

[in] display_rotation

TSDK_UINT32

窗口显示角度 {0,1,2,3} 仅对移动平台有效,默认为0。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_set_display_rotation(callId, windowType, displayRotation);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("set display rotation failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_set_camera_picture

接口描述

该接口用于设置摄像头图片。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_set_camera_picture(IN TSDK_UINT32 call_id, IN TSDK_CHAR *file_name);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫ID。

[in] file_name

TSDK_CHAR *

文件名,不超过1920*1200的BMP格式图片。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_set_camera_picture(callId,fileName);
if (TSDK_SUCCESS != ret)
{
     LOG_D_CALL_ERROR("set camera picture failed. result=%#x", ret);
     return -1;
}
return TSDK_SUCCESS;
 

tsdk_set_svc_video_window

接口描述

设置SVC会议视频窗口信息。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_set_svc_video_window(IN TSDK_UINT32 call_id, IN TSDK_UINT32 count, IN const TSDK_S_SVC_VIDEO_WND_INFO *window);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[in] count

TSDK_UINT32

SVC窗口个数。

[in] window

const TSDK_S_SVC_VIDEO_WND_INFO *

SVC视频窗口信息。

返回值

类型

描述

TSDK_RESULT

成功则返回TSDK_SUCCESS,失败则返回相应错误码。

代码示例

None
 

tsdk_get_call_statistic_info

接口描述

获取呼叫统计信息。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_get_call_statistic_info(IN TSDK_UINT32 call_id, OUT TSDK_S_CALL_STATISTIC_INFO *statistic_info);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[out] statistic_info

TSDK_S_CALL_STATISTIC_INFO*

呼叫统计信息。

返回值

类型

描述

TSDK_RESULT

成功则返回TSDK_SUCCESS,失败则返回相应错误码。

代码示例

None
 

tsdk_mute_mic

接口描述

设置(或取消)麦克风静音,即关闭或打开麦克风,停止或重启音频输入。

注意事项

  • 前提条件:通话已建立,主被叫正在通话中。
  • 设置和取消闭音麦克风针对指定通话,不是针对设备。
  • 设置和取消闭音麦克风操作本地媒体,通话对端不感知。

方法定义

TSDK_API TSDK_RESULT tsdk_mute_mic(IN TSDK_UINT32 call_id, IN TSDK_BOOL is_mute);
 

参数描述

参数名

是否必须

类型

描述

[in] call_id

TSDK_UINT32

呼叫的ID,标识唯一的呼叫。

[in] is_mute

TSDK_BOOL

是否静音。

  • true:静音(麦克风关闭)
  • false:非静音(麦克风打开)

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_mute_mic(callid, isMute);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("mute mic failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_get_devices

接口描述

获取音频视频设备列表。

注意事项

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

方法定义

TSDK_API TSDK_RESULT tsdk_get_devices(IN TSDK_E_DEVICE_TYPE device_type, IO TSDK_UINT32* num, OUT TSDK_S_DEVICE_INFO* device_info);
 

参数描述

参数名

是否必须

类型

描述

[in] device_type

TSDK_E_DEVICE_TYPE

设备类型。

  • TSDK_E_DEVICE_MIC:获取麦克风列表
  • TSDK_E_DEVICE_SPEAKER:获取扬声器列表
  • TSDK_E_DEVICE_CAMERA:获取摄像头列表

[in/out] num

TSDK_UINT32 *

输入时表示上层分配的设备个数,输出时表示获取到得设备的个数。

[out] device_info

TSDK_S_DEVICE_INFO*

设备信息数组指针。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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;
 

tsdk_set_mic_index

接口描述

设置当前使用的麦克风设备序号。

注意事项

设备序号一般在系统初始化后通过tsdk_get_devices()获取, 用于PC。

方法定义

TSDK_API TSDK_RESULT tsdk_set_mic_index(IN TSDK_UINT32 index);
 

参数描述

参数名

是否必须

类型

描述

[in] index

TSDK_UINT32

麦克风设备序号。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

ret = tsdk_set_mic_index(index);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("set mic index failed. result=%#x", ret);
    return -1;
}
break;
 

tsdk_get_mic_index

接口描述

获取当前使用的麦克风设备序号。

注意事项

用于接口测试或产品调试,实际产品业务场景中无需调用。

方法定义

TSDK_API TSDK_RESULT tsdk_get_mic_index(OUT TSDK_UINT32* index);
 

参数描述

参数名

是否必须

类型

描述

[out] index

TSDK_UINT32 *

麦克风设备序号。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

ret = tsdk_get_mic_index(index);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("get mic index failed. result=%#x", ret);
    return -1;
}
break;
 

tsdk_set_speak_index

接口描述

设置当前使用的扬声器设备序号。

注意事项

设备序号一般在系统初始化后通过tsdk_get_devices()获取, 用于PC。

方法定义

TSDK_API TSDK_RESULT tsdk_set_speak_index  ( IN TSDK_UINT32  index )
 

参数描述

参数名

是否必须

类型

描述

[in] index

TSDK_UINT32

扬声器设备序号。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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

tsdk_get_speak_index

接口描述

获取当前使用的扬声器设备序号。

注意事项

用于接口测试或产品调试,实际产品业务场景中无需调用。

方法定义

TSDK_API TSDK_RESULT tsdk_get_speak_index(OUT TSDK_UINT32* index);
 

参数描述

参数名

是否必须

类型

描述

[out] index

TSDK_UINT32 *

扬声器设备序号。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

ret = tsdk_get_speak_index(index);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("get speak index failed. result=%#x", ret);
    return -1;
}
break;
 

tsdk_set_video_index

接口描述

设置当前使用的视频设备序号。

注意事项

设备序号一般在系统初始化后通过tsdk_get_devices()获取。

方法定义

TSDK_API TSDK_RESULT tsdk_set_video_index  ( IN TSDK_UINT32  index )
 

参数描述

参数名

是否必须

类型

描述

[in] index

TSDK_UINT32

视频设备序号。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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

tsdk_get_video_index

接口描述

获取当前使用的视频设备序号。

注意事项

用于接口测试或产品调试,实际产品业务场景中无需调用。

方法定义

TSDK_API TSDK_RESULT tsdk_get_video_index( OUT TSDK_UINT32 *  index )
 

参数描述

参数名

是否必须

类型

描述

[out] index

TSDK_UINT32 *

视频设备序号。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

ret = tsdk_get_video_index(index);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("get video index failed. result=%#x", ret);
    return -1;
}
break;
 

tsdk_set_speak_volume

接口描述

设置输出音量大小。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_set_speak_volume(IN TSDK_UINT32 volume);
 

参数描述

参数名

是否必须

类型

描述

[in] volume

TSDK_UINT32

音量大小,取值范围[0, 100]。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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;
 

tsdk_get_speak_volume

接口描述

获取输出音量大小。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_get_speak_volume( OUT TSDK_UINT32 *  volume )
 

参数描述

参数名

是否必须

类型

描述

[out] volume

TSDK_UINT32*

音量大小,取值范围[0, 100]。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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;
 

tsdk_open_video_preview

接口描述

打开本地预览窗口。

注意事项

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

方法定义

TSDK_API TSDK_RESULT tsdk_open_video_preview( IN TSDK_UPTR  handle, IN TSDK_UINT32  index )
 

参数描述

参数名

是否必须

类型

描述

[in] handle

TSDK_UPTR

窗口句柄。

[in] index

TSDK_UINT32

摄像头索引。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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;
 

tsdk_close_video_preview

接口描述

关闭并删除本地预览窗口。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_close_video_preview( TSDK_VOID   )
 

参数描述

无。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

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;
 

tsdk_start_play_media

接口描述

播放本地音频文件,包括振铃音、回铃音、拨号(提示)音、DTMF音、忙碌提示音和本地按键音等。

注意事项

WAV文件,目前支持PCMA、PCMU、G.729格式或采样精度为8或16位、采样率8k~48K的PCM数据,支持双声道。

方法定义

TSDK_API TSDK_RESULT tsdk_start_play_media(IN TSDK_UINT32 loops, IN const TSDK_CHAR* play_file, OUT TSDK_INT32* play_handle);
 

参数描述

参数名

是否必须

类型

描述

[in] loops

TSDK_UINT32

循环次数,0表示循环播放。

[in] play_file

const TSDK_CHAR *

待播放的音频文件,目前支持wav格式。

[out] play_handle

TSDK_INT32 *

播放句柄(用于停止播放时的参数)。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_start_play_media(loops, play_file_path,play_handle);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("call media start play failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;
 

tsdk_stop_play_media

接口描述

停止音频文件播放。

注意事项

无。

方法定义

TSDK_API TSDK_RESULT tsdk_stop_play_media(IN TSDK_INT32 play_handle);
 

参数描述

参数名

是否必须

类型

描述

[in] play_handle

TSDK_INT32

播放句柄。

返回值

类型

描述

TSDK_RESULT

成功返回TSDK_SUCCESS,失败返回相应错误码。

代码示例

TSDK_RESULT ret;
ret = tsdk_stop_play_media(play_handle);
if (TSDK_SUCCESS != ret)
{
    LOG_D_CALL_ERROR("call media stop play failed. result=%#x", ret);
    return -1;
}
return TSDK_SUCCESS;