手机看片1024精品国产,丁香婷婷成人,午夜国产一级片,黄色片网站在线免费观看,男人的天堂香蕉在线视频,一级特黄毛片在线,中文日产国产精品久久

智慧服務(wù),成就美好體驗(yàn) 項(xiàng)目咨詢

主頁 > 服務(wù)與支持 > 開發(fā)平臺 > 客戶端SDK參考 > Android Native SDK > 接口參考 音視頻呼叫

入門使用

音視頻呼叫

更新時間:2019-12-10

TsdkCallManager(呼叫管理類)

接口名稱

接口描述

getCallByCallId

獲取呼叫對象。

startCall

開始呼叫。

startPlayMedia

播放本地音頻文件。

stopPlayMedia

停止鈴音播放。

getDevices

獲取設(shè)備列表。

setVideoIndex

設(shè)置視頻設(shè)備。

getVideoIndex

獲取視頻設(shè)備。

setSpeakVolume

設(shè)置輸出設(shè)備音量。

getSpeakVolume

獲取輸出音量。

openVideoPreview

打開本地預(yù)覽。

closeVideoPreview

關(guān)閉本地預(yù)覽。

setMobileAudioRoute

設(shè)置移動音頻路由。

getMobileAudioRoute

獲取移動音頻路由。

TsdkCall(呼叫對象類)

注意事項(xiàng)

因代碼中多處使用到TsdkCall對象,可定義一個全局變量,方便調(diào)用。

TsdkCall tsdkCall = TsdkManager.getInstance().getCallManager().getCallByCallId(callId);
 

參數(shù)描述

變量名

類型

描述

Getter

Setter

callInfo

TsdkCallInfo

呼叫信息。

Y

Y

接口名稱

接口描述

TsdkCall

構(gòu)造方法

answerCall

接聽呼叫

endCall

結(jié)束呼叫

sendDtmf

二次撥號

setVideoWindow

設(shè)置視頻窗口

addVideo

增加視頻

delVideo

刪除視頻

replyAddVideo

接受音頻轉(zhuǎn)視頻

videoControl

視頻控制

setVideoOrient

設(shè)置視頻方向

muteMic

設(shè)置(或取消)麥克風(fēng)靜音

holdCall

保持通話

unholdCall

取消保持通話

divertCall

呼叫偏轉(zhuǎn)

blindTransfer

呼叫盲轉(zhuǎn)

setVideoOrient

設(shè)置視頻顯示窗口屬性

setCaptureRotation

設(shè)置攝像頭采集方向

setDisplayRotation

設(shè)置窗口顯示方向

setCameraPicture

設(shè)置攝像頭圖片

setSvcVideoWindow

設(shè)置SVC會議視頻窗口信息

getCallStatisticInfo

獲取呼叫統(tǒng)計(jì)信息

getCallByCallId

接口描述

通過呼叫ID得到呼叫對象。

注意事項(xiàng)

無。

接口所屬類

TsdkCallManager

方法定義

public TsdkCall getCallByCallId(long callId)
 

參數(shù)描述

參數(shù)名

類型

描述

callId

long

呼叫ID。

返回值

類型

描述

TsdkCall

返回呼叫對象。

代碼示例

//java code
TsdkCall call = TsdkManager.getInstance().getCallManager().getCallByCallId(callID);
 

startCall

接口描述

發(fā)起一路普通VOIP呼叫。

注意事項(xiàng)

呼叫ID作為一路通話的唯一標(biāo)示,UI應(yīng)保存并管理,以用于后繼的呼叫相關(guān)操作。

接口所屬類

TsdkCallManager

方法定義

public synchronized TsdkCall startCall(String calleeNumber, boolean isVideo) 
 

參數(shù)描述

參數(shù)名

類型

描述

calleeNumber

String

呼叫號碼。最大有效長度255。

isVideo

boolean

是否是視頻。

返回值

類型

描述

TsdkCall

返回呼叫對象

使用示例

// Java code
TsdkCall call = TsdkManager.getInstance().getCallManager().startCall(toNumber, isVideoCall);
 

startPlayMedia

接口描述

播放本地音頻文件(振鈴音、回鈴音、撥號(提示)音、DTMF音、忙碌提示音和本地按健音等)。

注意事項(xiàng)

WAV文件,目前支持PCMA、PCMU、G.729格式或采樣精度為8或16位、采樣率8k~48K的PCM數(shù)據(jù),支持雙聲道。

接口所屬類

TsdkCallManager

方法定義

public int startPlayMedia(int loops, String playFile)
 

參數(shù)描述

參數(shù)名

類型

描述

loops

int

循環(huán)次數(shù)(0表示循環(huán)播放)。

playFile

String

待播放的音頻文件(目前支持wav格式)。

返回值

類型

描述

int

成功返回播放句柄。失敗返回-1。

代碼示例

//java code
ringBackToneHandle = TsdkManager.getInstance().getCallManager().startPlayMedia(0, ringingFile);
 

stopPlayMedia

接口描述

停止鈴音播放。

注意事項(xiàng)

無。

接口所屬類

TsdkCallManager

方法定義

public int stopPlayMedia(int handle)
 

參數(shù)描述

參數(shù)名

類型

描述

handle

int

播放句柄。

返回值

類型

描述

int

成功返回TSDK_SUCCESS。失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code   
result = TsdkManager.getInstance().getCallManager().stopPlayMedia(ringBackToneHandle);
 

getDevices

接口描述

獲取音頻視頻設(shè)備列表。

注意事項(xiàng)

應(yīng)用程序在任何階段均可以獲取當(dāng)前可用的音視頻設(shè)備信息,為更方便地進(jìn)行后繼具體設(shè)備管理,建議應(yīng)用程序在初始化階段和系統(tǒng)檢測到設(shè)備變化時,獲取設(shè)備信息并保存維護(hù)。

接口所屬類

TsdkCallManager

方法定義

public List<TsdkDeviceInfo> getDevices(TsdkDeviceType deviceType)
 

參數(shù)描述

參數(shù)名

類型

描述

deviceType

TsdkDeviceType

設(shè)備類型。

返回值

類型

描述

List<TsdkDeviceInfo>

成功返回音頻視頻設(shè)備列表。失敗返回null。

代碼示例

//Java code
cameraList = TsdkManager.getInstance().getCallManager().getDevices(TsdkDeviceType.TSDK_E_DEVICE_CAMERA);
 
 

setVideoIndex

接口描述

設(shè)置使用的視頻設(shè)備序號。

注意事項(xiàng)

設(shè)備序號一般在系統(tǒng)初始化后通過getDevices()獲取。

接口所屬類

TsdkCallManager

方法定義

1
public int setVideoIndex(int index)
 

參數(shù)描述

參數(shù)名

類型

描述

index

int

視頻設(shè)備序號。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

1
//java code
 

getVideoIndex

接口描述

獲取使用的視頻設(shè)備序號。

注意事項(xiàng)

用于接口測試或產(chǎn)品調(diào)試,實(shí)際產(chǎn)品業(yè)務(wù)場景中無需調(diào)用。

接口所屬類

TsdkCallManager

方法定義

1
public int getVideoIndex()
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回設(shè)備序號,失敗返回-1。

代碼示例

1
//java code
 

setSpeakVolume

接口描述

設(shè)置當(dāng)前輸出設(shè)備音量大小。

注意事項(xiàng)

無。

接口所屬類

TsdkCallManager

方法定義

public int setSpeakVolume(int volume)
 

參數(shù)描述

參數(shù)名

類型

描述

volume

int

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

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//java code
int setMediaSpeakVolumeResult = TsdkManager.getInstance().getCallManager().setSpeakVolume( 60);
 

getSpeakVolume

接口描述

獲取輸出音量大小。

注意事項(xiàng)

無。

接口所屬類

TsdkCallManager

方法定義

public int getSpeakVolume()
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回輸出音量大小,失敗返回-1。

代碼示例

//Java code
int ret = TsdkManager.getInstance().getCallManager().getSpeakVolume();
 

openVideoPreview

接口描述

打開本地預(yù)覽窗口。

注意事項(xiàng)

該接口一般用于設(shè)備設(shè)置時,檢測本地攝像頭工作狀態(tài)是否正常。

接口所屬類

TsdkCallManager

方法定義

public int openVideoPreview(int index, int handle)
 

參數(shù)描述

參數(shù)名

類型

描述

index

int

攝相頭索引。

handle

int

窗口句柄。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
 

closeVideoPreview

接口描述

關(guān)閉并刪除本地預(yù)覽窗口。

注意事項(xiàng)

無。

接口所屬類

TsdkCallManager

方法定義

public int closeVideoPreview()
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//java code
 

setMobileAudioRoute

接口描述

設(shè)置移動音頻路由設(shè)備。

注意事項(xiàng)

用于移動設(shè)備。

接口所屬類

TsdkCallManager

方法定義

public int setMobileAudioRoute(TsdkMobileAuidoRoute route)
 

參數(shù)描述

參數(shù)名

類型

描述

route

TsdkMobileAuidoRoute

移動音頻路由。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//java code
private boolean setAudioRoute(TsdkMobileAuidoRoute audioSwitch)
{
    return TsdkManager.getInstance().getCallManager().setMobileAudioRoute(audioSwitch) == 0;
}
 

getMobileAudioRoute

接口描述

獲取移動音頻路由設(shè)備。

注意事項(xiàng)

用于移動設(shè)備。

接口所屬類

TsdkCallManager

方法定義

public TsdkMobileAuidoRoute getMobileAudioRoute()
 

參數(shù)描述

無。

返回值

類型

描述

TsdkMobileAuidoRoute

成功返回移動音頻路由,失敗返回為null。

代碼示例

//java code
public int getCurrentAudioRoute()
{
    return TsdkManager.getInstance().getCallManager().getMobileAudioRoute().getIndex();
}
 

TsdkCall

接口描述

構(gòu)造方法。

注意事項(xiàng)

無。

方法定義

public TsdkCall(TsdkCallInfo callInfo)
 

參數(shù)描述

參數(shù)名

類型

描述

callInfo

TsdkCallInfo

呼叫信息。

返回值

無。

代碼示例

  //Java code
 

answerCall

接口描述

被叫方收到呼叫請求時,調(diào)用該接口接聽呼叫。

注意事項(xiàng)

若被叫方需要拒絕接聽呼叫,則需要調(diào)用endCall接口。

方法定義

public int answerCall(boolean isVideo) 
 

參數(shù)描述

參數(shù)名

類型

描述

isVideo

boolean

是否接聽視頻呼叫。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例
//Java code
int result = tsdkCall.answerCall(iVideoCall==1? true:false);
 

endCall

接口描述

結(jié)束和其他用戶的通話或者來電。通話雙方均可以主動結(jié)束呼叫。

注意事項(xiàng)

無。

方法定義

public int endCall() 
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

 //Java code
int result = tsdkCall.endCall();
 

sendDtmf

接口描述

一些業(yè)務(wù)場景中,用戶需要通過終端按鍵與網(wǎng)絡(luò)進(jìn)行交互,如充值、撥打總機(jī)后再撥打分機(jī)號碼、撥打客服中心號碼等。本接口用于在通話中發(fā)送二次撥號信息,每調(diào)用一次發(fā)送一次信號。

注意事項(xiàng)

  • 處于通話中才可以發(fā)送二次撥號信息。
  • TSDK不提供DTMF按鍵音功能。為了實(shí)現(xiàn)更友好的最終用戶體驗(yàn),UI應(yīng)同步調(diào)用SDK提供的媒體播放接口或系統(tǒng)提供的播放接口,實(shí)現(xiàn)播放DTMF按鍵音。

方法定義

public int sendDtmf(TsdkDtmfTone tone) 
 

參數(shù)描述

參數(shù)名

類型

描述

tone

TsdkDtmfTone

DTMF鍵值。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean reDial(int code)
{
    TsdkDtmfTone tsdkDtmfTone = TsdkDtmfTone.enumOf(code);
    LogUtil.d(TAG, "Dtmf Tone :" + tsdkDtmfTone.getIndex());
    int result = tsdkCall.sendDtmf(tsdkDtmfTone);
    if (result != 0)
    {
        LogUtil.e(TAG, "sendDTMF return failed, result = " + result);
        return false;
    }
    return true;
}
 

setVideoWindow

接口描述

  • 用戶建立視頻呼叫時,調(diào)用本接口設(shè)置視頻窗口與呼叫的綁定關(guān)系。
  • 如果用戶僅選擇音頻接聽,則無需調(diào)用此接口。

注意事項(xiàng)

呼叫存在時,callid填寫對應(yīng)的有效值;呼叫不存在(未建立,主叫呼出時),callid填寫非法值。

方法定義

public int setVideoWindow(List<TsdkVideoWndInfo> list) 
 

參數(shù)描述

參數(shù)名

類型

描述

list

List<TsdkVideoWndInfo>

視頻窗口信息列表。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
// 設(shè)置本地視頻窗口
TsdkVideoWndInfo localWndInfo = new TsdkVideoWndInfo();
localWndInfo.setVideoWndType(TsdkVideoWndType.TSDK_E_VIDEO_WND_LOCAL);
localWndInfo.setRender(ViERenderer.getIndexOfSurface(localVideoView));
localWndInfo.setDisplayMode(TsdkVideoWndDisplayMode.TSDK_E_VIDEO_WND_DISPLAY_FULL);

//設(shè)置遠(yuǎn)端視頻窗口
TsdkVideoWndInfo remoteWndInfo = new TsdkVideoWndInfo();
remoteWndInfo.setVideoWndType(TsdkVideoWndType.TSDK_E_VIDEO_WND_REMOTE);
remoteWndInfo.setRender(ViERenderer.getIndexOfSurface(remoteVideoView));
remoteWndInfo.setDisplayMode(TsdkVideoWndDisplayMode.TSDK_E_VIDEO_WND_DISPLAY_CUT);

List<TsdkVideoWndInfo> list = new ArrayList<>();
list.add(localWndInfo);
list.add(remoteWndInfo);

TsdkManager.getInstance().getCallManager().getCallByCallId(callId).setVideoWindow(list);
 

addVideo

接口描述

發(fā)起音頻轉(zhuǎn)視頻呼叫請求。

注意事項(xiàng)

無。

方法定義

public int addVideo() 
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean addVideo()
{
    initVideoWindow();

    int result = tsdkCall.addVideo();
    if (result != 0)
    {
        LogUtil.e(TAG, "addVideo return failed, result = " + result);
        return false;
    }

    setCallStatus(CallConstant.CallStatus.VIDEO_CALLING);
    return true;
}
 

delVideo

接口描述

發(fā)起視頻轉(zhuǎn)音頻呼叫請求。

注意事項(xiàng)

前提條件:視頻通話已建立,主被叫正在通話中。

方法定義

public int delVideo() 
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean delVideo()
{
    int result = tsdkCall.delVideo();
    if (result != 0)
    {
        LogUtil.e(TAG, "delVideo return failed, result = " + result);
        return false;
    }

    setCallStatus(CallConstant.CallStatus.AUDIO_CALLING);

    return true;
}
 

replyAddVideo

接口描述

對方請求音頻轉(zhuǎn)視頻呼叫時,本方選擇同意或者拒絕。

注意事項(xiàng)

無。

方法定義

public int replyAddVideo(boolean isAccept) 
 

參數(shù)描述

參數(shù)名

類型

描述

isAccept

boolean

是否同意。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean acceptAddVideo()
{
    initVideoWindow();

    int result = tsdkCall.replyAddVideo(true);
    if (result != 0)
    {
        LogUtil.e(TAG, "replyAddVideo(accept) return failed, result = " + result);
        return false;
    }
    return true;
}
 

videoControl

接口描述

視頻控制。

注意事項(xiàng)

無。

方法定義

public int videoControl(TsdkVideoCtrlInfo videoCtrlInfo) 
 

參數(shù)描述

參數(shù)名

類型

描述

videoCtrlInfo

TsdkVideoCtrlInfo

視頻控制參數(shù)。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
module = 0x02 | 0x04;
operation = 0x04;

TsdkVideoCtrlInfo tsdkVideoCtrlInfo = new TsdkVideoCtrlInfo(0, operation, module);
result = call.videoControl(tsdkVideoCtrlInfo);
 

setVideoOrient

接口描述

設(shè)置視頻方向。

注意事項(xiàng)

用于移動設(shè)備。

方法定義

public int setVideoOrient(int index, TsdkVideoOrient orient) 
 

參數(shù)描述

參數(shù)名

類型

描述

index

int

設(shè)備(攝像頭)索引。

orient

TsdkVideoOrient

視頻方向(橫豎屏)參數(shù)。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
if (cameraIndex == CallConstant.FRONT_CAMERA) {
    portrait = 3;
    landscape = 0;
    seascape = 2;
} else if (cameraIndex == CallConstant.BACK_CAMERA) {
    portrait = 1;
    landscape = 0;
    seascape = 2;
}

/**
 * 橫豎屏信息stOrient 設(shè)置標(biāo)志位
 * @param int callId    0表示全局設(shè)置,不為0表示 會話中設(shè)置
 * @param int index     攝像頭index
 * @param int orient    視頻橫豎屏情況 1:豎屏;2:橫屏;3:反向橫屏
 * @param int portrait  豎屏視頻捕獲(逆時針旋轉(zhuǎn))角度 0:0度;1:90度;2:180度;3:270度;
 * @param int landscape 橫屏視頻捕獲(逆時針旋轉(zhuǎn))角度 0:0度;1:90度;2:180度;3:270度;
 * @param int seascape 反向橫屏視頻捕獲(逆時針旋轉(zhuǎn))角度 0:0度;1:90度;2:180度;3:270度;
 * @return int result  視頻角度
 */
TsdkVideoOrient videoOrient = new TsdkVideoOrient(portrait, seascape, landscape,orient);
int result = callManager.getCallByCallId(callId).setVideoOrient(cameraIndex, videoOrient);
 

muteMic

接口描述

設(shè)置(或取消)麥克風(fēng)靜音。

注意事項(xiàng)

  • 前提條件:通話已建立,主被叫正在通話中。
  • 設(shè)置和取消閉音麥克風(fēng)針對指定通話,不是針對設(shè)備。
  • 設(shè)置和取消閉音麥克風(fēng)操作本地媒體,通話對端不感知。

方法定義

public int muteMic(boolean isMute) 
 

參數(shù)描述

參數(shù)名

類型

描述

isMute

boolean

是否靜音。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean muteMic(boolean mute)
{
    int result = tsdkCall.muteMic(mute);
    if (result != 0)
    {
        LogUtil.e(TAG, "mediaMuteMic return failed, result = " + result);
        return false;
    }
    return true;
}
 

holdCall

接口描述

保持通話。

注意事項(xiàng)

  • 處于通話中才可以調(diào)用該接口。
  • 視頻通話被保持時,視頻將會自動被關(guān)閉,恢復(fù)時,視頻將會自動打開。

方法定義

public int holdCall() 
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean holdCall()
{
    int result = tsdkCall.holdCall();
    if (result != 0)
    {
        LogUtil.e(TAG, "holdCall return failed, result = " + result);
        return false;
    }
    return true;
}
 

unholdCall

接口描述

取消保持通話(恢復(fù)通話)。

注意事項(xiàng)

  • 處于通話保持狀態(tài)才可以調(diào)用該接口。
  • 因通話雙方均可以在本端處于通話態(tài)發(fā)起保持操作,即通話可能會處于雙向保持態(tài),在任一保持方發(fā)起恢復(fù)通話時,僅能恢復(fù)本端通話狀態(tài),不會恢復(fù)對端的通話狀態(tài)。
  • 視頻通話雙向保持狀態(tài)中,任一方先恢復(fù)通話,不會自動打開視頻;雙方均恢復(fù)通話后,視頻才會打開。

方法定義

 public int unholdCall() 
 

參數(shù)描述

無。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean unHoldCall()
{
    int result = tsdkCall.unholdCall();
    if (result != 0)
    {
        LogUtil.e(TAG, "unholdCall return failed, result = " + result);
        return false;
    }
    return true;
}
 

divertCall

接口描述

  • 發(fā)起呼叫偏轉(zhuǎn)請求。
  • 用戶在收到來電時,若不方便接聽(或其他場景),可以通過調(diào)用此接口,在不接聽通話的情況下將來電偏轉(zhuǎn)到其他用戶或本人的其他通信工具。

注意事項(xiàng)

前提條件:收到來電,本地正在振鈴。

方法定義

public int divertCall(String divertNumber) 
 

參數(shù)描述

參數(shù)名

類型

描述

divertNumber

String

偏轉(zhuǎn)目的號碼。最大長度32。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean divertCall(String divertNumber)
{
    int result = tsdkCall.divertCall(divertNumber);
    if (result != 0)
    {
        LogUtil.e(TAG, "divertCall return failed, result = " + result);
        return false;
    }
    return true;
}
 

blindTransfer

接口描述

發(fā)起呼叫盲轉(zhuǎn)請求。

注意事項(xiàng)

  • 前提條件:音視頻通話已建立,主被叫正在通話中。
  • 發(fā)起轉(zhuǎn)移的呼叫方不關(guān)注呼叫盲轉(zhuǎn)目的方的狀態(tài)。
  • 若用戶在視頻呼叫發(fā)起盲轉(zhuǎn),則盲轉(zhuǎn)的第三方收到的是音頻來電。
  • 部分低版本的業(yè)務(wù)服務(wù)器,為了減少被轉(zhuǎn)移方的處理,在服務(wù)器代理完成盲轉(zhuǎn)處理,被轉(zhuǎn)方界面不感知通話被轉(zhuǎn)移。

方法定義

public int blindTransfer(String transtoNumber) 
 

參數(shù)描述

參數(shù)名

類型

描述

transtoNumber

String

盲轉(zhuǎn)目的號碼。最大長度32。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean blindTransfer(String transferNumber)
{
    int result = tsdkCall.blindTransfer(transferNumber);
    if (result != 0)
    {
        LogUtil.e(TAG, "blindTransfer return failed, result = " + result);
        return false;
    }
    return true;
}
 

setVideoRender

接口描述

設(shè)置視頻顯示窗口屬性。

注意事項(xiàng)

無。

方法定義

public int setVideoRender(TsdkVideoRenderInfo videoRender) 
 

參數(shù)描述

參數(shù)名

類型

描述

videoRender

TsdkVideoRenderInfo

視頻顯示窗口屬性。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
// 窗口鏡像模式 0:不做鏡像(默認(rèn)值) 1:上下鏡像(目前未支持) 2:左右鏡像
// 本地視頻前置攝像頭做左右鏡像,所以設(shè)置mirror type為 2
TsdkVideoRenderInfo videoRenderInfo = new TsdkVideoRenderInfo();
videoRenderInfo.setRenderType(TsdkVideoWndType.TSDK_E_VIDEO_WND_LOCAL);
videoRenderInfo.setMirrorType(TsdkVideoWndMirrorType.TSDK_E_VIDEO_WND_MIRROR_HORIZONTAL);
videoRenderInfo.setDisplayType(TsdkVideoWndDisplayMode.TSDK_E_VIDEO_WND_DISPLAY_CUT);

TsdkManager.getInstance().getCallManager().getCallByCallId(currentCallId).setVideoRender(videoRenderInfo);
 

setCaptureRotation

接口描述

設(shè)置攝像頭采集方向。

注意事項(xiàng)

無。

方法定義

public int setCaptureRotation(int cameraIndex, int captureRotation) 
 

參數(shù)描述

參數(shù)名

類型

描述

cameraIndex

int

采集設(shè)備(攝像頭)索引。

captureRotation

int

攝像頭采集角度 {0,1,2,3} 僅對移動平臺有效。默認(rèn)為0。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
result = call.setCaptureRotation(CallConstant.FRONT_CAMERA, 0);
 

setDisplayRotation

接口描述

設(shè)置窗口顯示方向。

注意事項(xiàng)

無。

方法定義

public int setDisplayRotation(TsdkVideoWndType windowType, int displayRotation) 
 

參數(shù)描述

參數(shù)名

類型

描述

windowType

TsdkVideoWndType

視頻窗口類型。

displayRotation

int

窗口顯示角度 {0,1,2,3} 僅對移動平臺有效。默認(rèn)為0。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
public boolean setDisplayRotation(TsdkVideoWndType type, int rotation)
{

    TsdkManager.getInstance().getCallManager().getCallByCallId(currentCallId).setDisplayRotation(type, rotation);

    return true;
}
 

setCameraPicture

接口描述

設(shè)置攝像頭圖片。

注意事項(xiàng)

無。

方法定義

public int setCameraPicture(String fileName)
 

參數(shù)描述

參數(shù)名

類型

描述

fileName

String

圖片路徑,不超過1920*1200的BMP格式圖片。

返回值

類型

描述

int

成功返回TSDK_SUCCESS,失敗返回相應(yīng)錯誤碼。

代碼示例

//Java code
//采用發(fā)送默認(rèn)圖版本方式,替代關(guān)閉攝相頭動作
String picturePath = Environment.getExternalStorageDirectory() + File.separator + BMP_FILE;
result = call.setCameraPicture(picturePath);
 

setSvcVideoWindow

接口描述

設(shè)置SVC會議視頻窗口信息。

注意事項(xiàng)

無。

方法定義

public int setSvcVideoWindow(List<TsdkSvcVideoWndInfo> list) 
 

參數(shù)描述

參數(shù)名

類型

描述

list

List<TsdkSvcVideoWndInfo>

SVC視頻窗口信息列表。

返回值

類型

描述

int

成功則返回TSDK_SUCCESS,失敗則返回相應(yīng)錯誤碼。

代碼示例

//Java code
public void initSvcVideoWindow(final long callId, List<Long> svcLabel)
{
	LogUtil.i(TAG, "initVideoWindow() enter" + callId);
	currentSvcLabel = svcLabel;

	handler.post(new Runnable() {
		@Override
		public void run() {

			if (isInitializedVideoWindows == false) {
				createVideoRenderer(true);
			}
			else {
				LogUtil.i(TAG, "p2p to conference.");
				createVideoRenderer(true);
			}
			isInitializedVideoWindows = true;

			setCurrentCallId(callId);

			//設(shè)置視頻窗口方向參數(shù)
			setVideoOrient(callId, CallConstant.FRONT_CAMERA);

			TsdkCall tsdkCall = callManager.getCallByCallId(callId);
			if (tsdkCall == null) {
				return;
			}

			// 設(shè)置本地視頻窗口
			TsdkVideoWndInfo localWndInfo = new TsdkVideoWndInfo();
			localWndInfo.setVideoWndType(TsdkVideoWndType.TSDK_E_VIDEO_WND_LOCAL);
			localWndInfo.setRender(ViERenderer.getIndexOfSurface(localVideoView));
			localWndInfo.setDisplayMode(TsdkVideoWndDisplayMode.TSDK_E_VIDEO_WND_DISPLAY_CUT);

			List<TsdkVideoWndInfo> list = new ArrayList<>();
			list.add(localWndInfo);

			tsdkCall.setVideoWindow(list);

			//設(shè)置SVC遠(yuǎn)端視頻窗口
			TsdkSvcVideoWndInfo bigSvcVideoWndInfo = new TsdkSvcVideoWndInfo();
			bigSvcVideoWndInfo.setRender(ViERenderer.getIndexOfSurface(remoteBigVideoView));
			bigSvcVideoWndInfo.setLabel(currentSvcLabel.get(0));
			bigSvcVideoWndInfo.setWidth(960); // (960*540) usBandWidth[1300] (320*180) usBandWidth[195] (640*360) usBandWidth[620]
			bigSvcVideoWndInfo.setHeight(540);

			TsdkSvcVideoWndInfo smallSvcVideoWndInfo_01 = new TsdkSvcVideoWndInfo();
			smallSvcVideoWndInfo_01.setRender(ViERenderer.getIndexOfSurface(remoteSmallVideoView_01));
			smallSvcVideoWndInfo_01.setLabel(currentSvcLabel.get(1));
			smallSvcVideoWndInfo_01.setWidth(160); //320
			smallSvcVideoWndInfo_01.setHeight(90);//180

			TsdkSvcVideoWndInfo smallSvcVideoWndInfo_02 = new TsdkSvcVideoWndInfo();
			smallSvcVideoWndInfo_02.setRender(ViERenderer.getIndexOfSurface(remoteSmallVideoView_02));
			smallSvcVideoWndInfo_02.setLabel(currentSvcLabel.get(2));
			smallSvcVideoWndInfo_02.setWidth(160); //320
			smallSvcVideoWndInfo_02.setHeight(90);//180

			TsdkSvcVideoWndInfo smallSvcVideoWndInfo_03 = new TsdkSvcVideoWndInfo();
			smallSvcVideoWndInfo_03.setRender(ViERenderer.getIndexOfSurface(remoteSmallVideoView_03));
			smallSvcVideoWndInfo_03.setLabel(currentSvcLabel.get(3));
			smallSvcVideoWndInfo_03.setWidth(160); //320
			smallSvcVideoWndInfo_03.setHeight(90);//180

			List<TsdkSvcVideoWndInfo> svcWndInfoList = new ArrayList<>();
			svcWndInfoList.add(bigSvcVideoWndInfo);
			svcWndInfoList.add(smallSvcVideoWndInfo_01);
			svcWndInfoList.add(smallSvcVideoWndInfo_02);
			svcWndInfoList.add(smallSvcVideoWndInfo_03);

			tsdkCall.setSvcVideoWindow(svcWndInfoList);
		}
	});

}
 

getCallStatisticInfo

接口描述

獲取呼叫統(tǒng)計(jì)信息。

注意事項(xiàng)

無。

方法定義

public TsdkCallStatisticInfo getCallStatisticInfo()
 

參數(shù)描述

返回值

類型

描述

TsdkCallStatisticInfo

成功返回呼叫統(tǒng)計(jì)信息,失敗返回null。

代碼示例

//Java code