分析agora media sdk for windows api reference接口方法_第1頁
分析agora media sdk for windows api reference接口方法_第2頁
分析agora media sdk for windows api reference接口方法_第3頁
分析agora media sdk for windows api reference接口方法_第4頁
分析agora media sdk for windows api reference接口方法_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

所需 AgoraMediaSDK接口方 創(chuàng)建agora::rtc::IRtcEngine對 初始化 加入頻道 離開頻道 獲取通話ID 報告通話質(zhì)量url 銷毀IRtcEngine對象 銷毀AgoraMedia全局資源 (根據(jù)deviceID)指定設(shè)備(set (根據(jù)deviceID)指定設(shè)備 (根據(jù)deviceID)指定設(shè)備 AgoraMediaSDKVisualC++2008x86runtime將 添加到項目的 下將AgoraMediaSDK/lib 放入項目的LIB 下,并確保mediasdk.lib與項目有連 AgoraMediaSDKagora::rtc::IRtcEngineAgoraMediaSDK的基本接口,通過生成agora::rtc::IRtcEngineAgoraMediaSDK的通話能力。在之前的IAgoraAudio1.0agora::rtc::IRtcEngine。0AgoraMediaSDK所觸發(fā)的通過agora::rtc::IEventHandler通知應(yīng)用程序。應(yīng)用程序createAgoraRtcEngineIRtcEngine對象時傳遞進(jìn)方法中,應(yīng)該避免阻塞操作(SendMessageAPIReturn初始化intinitialize(constchar*該方法用來進(jìn)行初始化AgoraMedia服務(wù)。傳入Agora為開發(fā)者簽發(fā)的廠商秘鑰進(jìn)行初始化。在agora::rtc::IRtcEngine對象后,必須先調(diào)用該方法進(jìn)行初始化,才能使用其他方法。初始化成功后,默認(rèn)處于語音通話模式。使用功能需要額外調(diào)用一次enableReturnintenable模式,在通話中調(diào)用則由音頻模式切換為模式。關(guān)閉模式使用disable方Returnintdisable用enable方法。Return加入頻道intjoinChannel(constchar*key,constchar*channel,constchar*info,uid_tuid)可以群聊。使用不同vendorkey的應(yīng)用程序是不能互通的。如果已在通話中,用戶必須調(diào)用leaveChannel退出當(dāng)前通話,才能進(jìn)入下一個頻道。此為程序動態(tài)生成的當(dāng)用戶使用靜態(tài)Key也即只使用vendorkeyNULL當(dāng)用戶使用動態(tài)Key時,Agora為應(yīng)用程序開發(fā)者額外簽發(fā)一個簽名秘鑰signkey,開發(fā)者通過Agora提供的算法和秘鑰生成此用戶Token一般來說使用靜態(tài)Key聯(lián)系A(chǔ)gora或銷售人員獲得動態(tài)Key使用支持20uidReturnERR_INVALID_ARGUMENT2):傳遞的參數(shù)無效。ERR_NOT_READY(-3):沒有成功初始化。ERR_REFUSED(-5):SDK離開頻道intleaveChannelleaveChannel,沒有副作用。0。leaveChannel會把會話相關(guān)的所有資源釋放掉。ReturnERR_REFUSED5):離開頻道失敗,當(dāng)前狀態(tài)不在通話agora::rtc::IAudioDeviceManager接口的詳細(xì)說明部分。獲取通話IDconstchar*IDjoinChannelCallId,標(biāo)識該客戶端的此次通話。有些方法如rate(),comin()需要在通話結(jié)束后調(diào)用,向SDK提交反饋,這CallIdgetCallId()方法CallId,在通話結(jié)束后在反饋方法中作為參數(shù)傳入。Return給通話評分intrate(constchar*callId,intrating,constchar*ReturnERR_INVALID_ARGUMENT2):傳入的參數(shù)無效,比如callId無效。(-intcomin(constchar*callId,constchar*Return(-ERR_NOT_READY3):SDK啟動語音通話測試intjoinChannel進(jìn)行通話。ReturnERR_REFUSED5):不能啟動測試,可能沒有成功初始終止應(yīng)答測試intReturnEchoTest。啟用網(wǎng)絡(luò)測試intdisableNetworkTest禁用檢測以節(jié)省流量。網(wǎng)絡(luò)測試是默認(rèn)關(guān)閉的。ReturnintReturnvoidsetupLocal(constCanvas&(view),并設(shè)置顯示模式。在應(yīng)用程序開發(fā)中,通常在初始化后調(diào)用該方法進(jìn)行本地structCanvas{view_tview;intrenderMode;uid_tuid;view:顯示視窗。在Windows上,view的類型是(HWND柄在通話中是有效的,否則可能會導(dǎo)致SDK。窗口leaveChannel調(diào)用返回后安全銷毀。由于窗口句柄的值會緩存在SDK口前,應(yīng)調(diào)用setupLocal指定view為NULLrenderMode:顯示模RENDER_MODE_FIT。voidsetupRemote(constCanvas&能事先知道對方的uid,可以在SDK解出收到流的第一幀時設(shè)置structCanvas{view_tview;intrenderMode;uid_tuid;view:顯示視窗。應(yīng)用程序應(yīng)保證窗口句柄在通話中是有效的,否則可能會導(dǎo)致SDK。窗口SDK中,切換窗口或者銷毀窗口前,應(yīng)調(diào)用setupRemote指定view為NULL清除緩存。renderMode:顯示模RENDER_MODE_FIT。報告通話質(zhì)量urlintmakeQualityReportUrl(constchar*channel,uid_tlistenerUid,uid_tspeakerUid,intformat,char*buffer,size_t*length)該方法生成報告通話質(zhì)量的url。通過返回的url,應(yīng)用程序可以獲取詳細(xì)的通話質(zhì)量報告數(shù)據(jù)。使用時需要知道頻道名和雙方用戶ID。比如一個頻道中有A和B,可以分別獲取A說話、B收聽的報告,以及B說話、A收聽的報告。聽話方用戶說話方用戶QUALITY_REPORT_JSON(0)JSON。返回質(zhì)量報告數(shù)據(jù),QUALITY_REPORT_HTML(1):HTMLHTML格式報指定用來返回生成的URL的ReturnERR_INVALID_ARGUMENT2)ERR_BUFFER_TOO_SMALL6):指定緩沖區(qū)的緩沖區(qū)長度voidAgoraMedia全局資源voidreleaseAgoraRtcEngineGlobalResource該方銷毀AgoraMedia運行時使用的一些全局資源。絕大多數(shù)情況下不需要調(diào)用,除非對資intmuocalAudioStream(boolTrueFalseReturnintmuteAllRemoteAudioStreams(boolFalse:允許接收到的所有音頻Return將指定用戶靜音intmuteRemoteAudioStream(uid_tuid,boolTrue:停止指定用戶的音頻False:允許指定用戶的音頻ReturnintmuocalStream(boolTrue:不發(fā)送本地False:發(fā)送本地ReturnintmuteAllRemoteStreams(boolTrue:停 False:允許接收到的所有ReturnintsetybackDeviceVolume(intReturnintsetResolution(intwidth,intReturnintsetMaxBitrate(intReturnintsetMaxFrameRate(int注:流幀率會根據(jù)實時網(wǎng)絡(luò)狀況自適應(yīng)調(diào)整。默認(rèn)15fps。ReturnintsetLocalRenderMode(intRENDER_MODE_HIDDEN(1):如果尺寸與顯示RENDER_MODE_FIT(2):如果尺寸與顯示視窗ReturnintsetRemoteRenderMode(uid_tuid,intIDRENDER_MODE_HIDDEN(1):如果尺寸與顯示RENDER_MODE_FIT(2):如果尺寸與顯示視窗ReturnintenableAudioVolumeIndication(intinterval,int該方法允許SDK>0200Return開始客戶端intstartAudioRecording(constchar*Return停止客戶端intstopAudioRecordingReturn設(shè)置日志文件intsetLogFile(constchar*SDK的輸出log文件。SDK運行時產(chǎn)生的所有l(wèi)og將寫入該文件。應(yīng)用程序必須保證指定的ReturnintenableAudioQualityIndication(bool啟用接收端語音質(zhì)量提示,默認(rèn)啟用。啟用后,SDKonAudioQuality()回調(diào)方法每兩秒TrueFalse:ReturnintenableTransportQualityIndication(bool啟用接收端語音/質(zhì)量提示,默認(rèn)啟用。啟用后,SDK通過TrueFalse:Returnagora::rtc::IEventHandler接口類用于SDK向應(yīng)用程序發(fā)送回調(diào)通知,應(yīng)用程序通過繼承該接口類的方法獲取SDK的通知。接口類的所有方法都有缺省(空)實現(xiàn),應(yīng)用程序API(SendMessageSDK加入頻道回調(diào)virtualvoidonJoinChannelSuccess(constchar*channel,uid_tuid,intID;否則使用AgoraID重新加入頻道回調(diào)virtualvoidonRejoinChannelSuccess(constchar*channel,uid_tuid,intelapsed)有時候由于網(wǎng)絡(luò)原因,客戶端可能會和服務(wù)器失去連接,SDK會進(jìn)行自動重連,自動重連成功后用戶發(fā)生錯誤回調(diào)virtualvoidonError(interr,constchar*ERR_NO_AVAILABLE_CHANNEL(103):joinChannel時)ERR_OPEN_CHANNEL_REJECTED(107)ERR_START_CALL(1002):打開本地音設(shè)備、啟動通話聲音質(zhì)量回調(diào)virtualvoidonAudioQuality(uid_tuid,intquality,unsignedshortdelay,unsignedshortlost)enableAudioQualityIndication()設(shè)置。virtualvoidonAudioTransportQuality(uid_tuid,unsignedshortdelay,unsignedshortlost)enableTransportQualityIndication()設(shè)置。virtualvoidonTransportQuality(uid_tuid,unsignedshortdelay,unsignedshortlost)enableTransportQualityIndication()設(shè)置。virtualvoidonAudioVolumeIndication(constAudioVolumeInfo*speakers,unsignedintspeakerNumber,inttotalVolume)提示誰在說話及其音量,默認(rèn)禁用。可以通過enableAudioVolumeIndication()方法設(shè)uid離開頻道回調(diào)virtualvoidonLeaveChannel(constSessionStat&leaveChannel()方法時,SDK應(yīng)用程序可以得到此次通話的總通話時長、SDKstructSessionStatunsignedintduration;unsignedinttxBytes;unsignedintrxBytes;unsignedshorttxKBitRate;unsignedshortrxKBitRate;unsignedshortlastQuality;duration(秒txBytesvirtualvoidonUserJoined(uid_tuid,intvirtualvoidonUserOffline(uid_t當(dāng)前通話統(tǒng)計回調(diào)virtualvoidonUpdateSessionStats(constSessionStat&structSessionStatunsignedintduration;unsignedinttxBytes;unsignedintrxBytes;unsignedshortunsignedshortdoublec doublecpuTotalUsage;duration(秒(bytes(bytes(kbps(kbpsvirtualvoidonLocalStat(intsentBytes,intvirtualvoidonRemoteStat(uid_tuid,intframeCount,intdelay,intreceivedBytes)virtualvoidonFirstLocalFrame(intwidth,intheight,intvirtualvoidonFirstRemoteDecoded(uid_tuid,intwidth,intheight,intelapsed)viewvirtualvoidonFirstRemoteFrame(uid_tuid,intwidth,intheight,intelapsed,intelapsed)(eape音頻設(shè)備變化回調(diào)virtualvoidonAudioDeviceStateChanged(constchar*deviceId,intdeviceType,intdeviceState)網(wǎng)絡(luò)質(zhì)量報告回調(diào)virtualvoidonNetworkQuality(int(enableNetworkTes,用戶靜音回調(diào)virtualvoidonUserMuteAudio(uid_tuid,boolTrueFalsevirtualvoidonUserMute(uid_tuid,boolTrue:該用戶已暫停發(fā)送False:該用戶已恢復(fù)發(fā)送頭就緒回調(diào)virtualvoid連接丟失回調(diào)virtualvoid該方法返回一個IAudioDeviceCollection對象,包含系統(tǒng)中所有的設(shè)備。通過IAudioDeviceCollection::release()方法銷毀返回的對象。Return調(diào)用成功時,IAudioDeviceCollection對象,包含所有的設(shè)IAudioDevice

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論