TRTC学习:入门级实时音视频通信技术指南
姒傝堪锛歍RTC鎶€鏈紝鍗砊rubo Real-Time Communication锛屾槸涓€绉嶅己澶х殑瀹炴椂闊宠棰戦€氫俊寮曟搸锛岀敱鑵捐浜戝紑鍙戙€傚畠涓哄紑鍙戣€呮彁渚涗簡涓板瘜鐨凷DK鍜孉PI锛屼娇寰楅泦鎴愬疄鏃堕煶瑙嗛閫氫俊鍔熻兘鍙樺緱杞绘澗绠€鍗曘€傛棤璁烘槸鏁欒偛銆佷細璁€佸ū涔愯繕鏄洿鎾瓑棰嗗煙锛孴RTC閮借兘鎻愪緵楂樻晥绋冲畾鐨勯€氫俊浣撻獙銆?/p>涓€銆乀RTC绠€浠?/h3>
TRTC鏄粈涔堬紵瀹冩槸涓€娆句笓涓哄疄鏃堕煶瑙嗛閫氫俊鎵撻€犵殑寮曟搸锛岀敱鑵捐浜戠爺鍙戙€傚€熷姪TRTC鎻愪緵鐨凷DK鍜孉PI锛屽紑鍙戣€呭彲浠ュ揩閫熷皢瀹炴椂闊宠棰戦€氫俊鍔熻兘铻嶅叆搴旂敤銆傚叾搴旂敤棰嗗煙骞挎硾锛屽寘鎷湪绾挎暀鑲层€佽棰戜細璁€佸疄鏃朵簰鍔ㄥū涔愩€佺洿鎾钩鍙颁互鍙婅繙绋嬪尰鐤楃瓑銆俆RTC鐨勬牳蹇冩妧鏈寘鎷煶瑙嗛缂栬В鐮併€佺綉缁滀紶杈撲紭鍖栥€佸濯掍綋澶勭悊鍜孯TC寮曟搸鎶€鏈€?/p>浜屻€乀RTC鍩虹鐭ヨ瘑
浜嗚В瀹炴椂闊宠棰戦€氫俊鐨勫熀鏈蹇垫槸鐞嗚ВTRTC鐨勫熀纭€銆傚疄鏃堕煶瑙嗛閫氫俊锛圧TC锛夋槸鎸囧鍙拌澶囬棿瀹炴椂浼犺緭闊宠棰戞暟鎹殑閫氫俊鏂瑰紡銆傝繖涓繃绋嬪寘鎷暟鎹噰闆嗐€佺紪鐮併€佷紶杈撱€佽В鐮佸拰鎾斁绛夌幆鑺傘€俆RTC閫氳繃鎶€鏈紭鍖栵紝瀹炵幇浜嗚繖浜涚幆鑺傜殑楂樻晥绋冲畾浜ゆ崲銆?/p>
TRTC鐨勯€氫俊娴佺▼鍖呮嫭璁惧閰嶇疆銆佸缓绔嬭繛鎺ャ€佸獟浣撴祦浜ゆ崲銆佸獟浣撳鐞嗗拰濯掍綋灞曠ず绛夋楠ゃ€傚叾涓紝璁惧閰嶇疆鍖呮嫭鍒濆鍖朣DK鍜岃缃煶瑙嗛鍙傛暟锛涘缓绔嬭繛鎺ユ槸鏋勫缓瀹㈡埛绔笌鏈嶅姟鍣ㄧ殑鏁版嵁浼犺緭閫氶亾锛涘獟浣撴祦浜ゆ崲鍒欓€氳繃淇′护鏈嶅姟鍣ㄨ繘琛岋紱濯掍綋澶勭悊鍙兘娑夊強娣峰悎闊抽銆佹祦鍚堝苟涓庣紪鐮佽浆鎹㈢瓑锛涙渶缁堬紝瑙g爜鎺ユ敹鍒扮殑濯掍綋娴佸苟鍦ㄥ鎴风绐楀彛涓挱鏀俱€?/p>涓夈€佹惌寤篢RTC鐜
瑕佹惌寤篢RTC鐜锛屼綘闇€瑕佷竴鍙版垨澶氬彴杩愯Linux鎴朩indows绯荤粺鐨勬湇鍔″櫒鎴栨湰鍦拌绠楁満浣滀负鏈嶅姟鍣ㄧ銆傚鎴风鍒欓渶瑕佷笌鎿嶄綔绯荤粺鍏煎鐨勫紑鍙戠幆澧冧笌缂栫▼璇█锛屽C++銆丣ava銆丣avaScript绛夈€傝涓嬭浇鍜屽畨瑁匱RTC SDK锛屼綘鍙互璁块棶鍏跺畼鏂圭綉绔欐垨GitHub浠撳簱锛屾牴鎹」鐩渶姹傚拰璇█鏀寔閫夋嫨鍚堥€傜殑鐗堟湰杩涜涓嬭浇鍜屽畨瑁呫€傚父瑙佺殑瀹夎鏂瑰紡鍖呮嫭浣跨敤git clone鍛戒护鍏嬮殕SDK浠撳簱锛岀劧鍚庝娇鐢–Make銆乂isual Studio绛夊伐鍏疯繘琛屾瀯寤哄拰瀹夎銆?/p>鍥涖€乀RTC鍔熻兘閰嶇疆
涓轰簡浼樺寲閫氫俊璐ㄩ噺锛屼綘闇€瑕侀厤缃竴浜涢煶瑙嗛鍙傛暟銆傝繖浜涘弬鏁板寘鎷垎杈ㄧ巼銆佸抚鐜囥€佺紪鐮佸櫒绛夌殑閫夋嫨銆傞€夋嫨鍚堥€傜殑鍒嗚鲸鐜囧拰甯х巼鍙互骞宠 瑙嗛璐ㄩ噺鍜屽甫瀹戒娇鐢紱鑰岄€夋嫨鍚堥€傜殑缂栫爜鍣ㄥ垯鑳界‘淇濋煶瑙嗛缂栫爜鏍煎紡鐨勫吋瀹规€с€傞€氳繃鍚堢悊閰嶇疆杩欎簺鍙傛暟锛屼綘鍙互纭繚TRTC鎻愪緵鏈€浣崇殑閫氫俊浣撻獙銆?/p>
---
閰嶇疆TRTC SDK锛氶煶瑙嗛閫氳瘽鐨勫熀鐭?/p>
瑙嗛瑙勬牸璁惧畾
鍦ㄦ瀯寤哄疄鏃堕煶瑙嗛閫氳瘽搴旂敤鏃讹紝棣栧厛闇€瑕佸TRTCSDKConfig杩涜閰嶇疆銆傛兂璞′竴涓嬩綘姝e湪涓鸿垶鍙板竷缃儗鏅紝杩欓噷鐨勯厤缃氨濡傚悓璋冩暣鑸炲彴鐏厜鍜屽竷鏅€備互涓嬫槸鍏抽敭閰嶇疆姝ラ锛?/p>
```cpp
TRTCSDKConfig config;
config.set_video_width(1280); // 璁剧疆瑙嗛瀹藉害涓?280鍍忕礌
config.set_video_height(720); // 璁剧疆瑙嗛楂樺害涓?20鍍忕礌
config.set_video_encoder(TRTC_VIDEO_ENCODER_H264); // 閫夋嫨H264瑙嗛缂栫爜鍣?/p>
config.set_audio_encoder(TRTC_AUDIO_CODEC_AAC); // 閫夋嫨AAC闊抽缂栫爜鍣?/p>
TRTC::Instance().set_sdk_config(config); // 搴旂敤閰嶇疆鍒癟RTC瀹炰緥
```
瀹炴椂閫氳鍔熻兘婵€娲?/p>
鎺ヤ笅鏉ワ紝璁╂垜浠紑鍚疄鏃堕€氳鐨勮垶鍙拌〃婕斻€傚惎鐢ㄨ闊宠亰澶╁拰鏂囧瓧淇℃伅鍔熻兘锛岃浣犵殑搴旂敤鍦ㄥ疄鏃朵簰鍔ㄦ柟闈㈡洿鍔犱赴瀵岋細
```cpp
// 鎵撳紑璇煶鑱婂ぉ鐨勫ぇ闂?/p>
TRTC::Instance().enable_audio_chat(true);
// 鍚姩鏂囧瓧淇℃伅鐨勪紶杈撴湇鍔?/p>
TRTC::Instance().enable_text_messaging(true);
```
TRTC瀹炴垬鎿嶄綔鎸囧崡锛氶煶瑙嗛閫氳瘽寮€鍙戝熀纭€
瀹屾垚浜嗗熀纭€鐨勯厤缃拰瀹炴椂閫氳鍔熻兘鐨勬縺娲诲悗锛屾帴涓嬫潵鏄疄鎴樻搷浣滈樁娈点€傚鍚屾惌寤鸿垶鍙颁竴鏍凤紝鎴戜滑闇€瑕侀€愭杩涜锛?/p>
```cpp
// 鍒濆鍖朣DK锛屼负鑸炲彴閾鸿鍩虹煶
TRTC::Instance().init("APP_ID");
// 杩炴帴鏈嶅姟鍣紝寮€鍚垶鍙扮伅鍏夊拰闊冲搷璁惧鍑嗗婕斿嚭
TRTC::Instance().join_meeting("TOKEN", "ROOM_ID");
// 寮€鍚煶瑙嗛褰曞埗鍜屾挱鏀惧姛鑳斤紝鑸炲彴琛ㄦ紨姝e紡寮€濮嬶紒
TRTC::Instance().start_audio(true); // 寮€鍚煶棰戝綍鍒跺姛鑳?灞曠ず浣犵殑澹伴煶榄呭姏锛?馃帳鉁?馃攰 馃帣锔?馃幖 馃幍 馃幖鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪馃幎鉁煄碘湪馃拑馃徎馃暫馃徎馃幍鉁?馃槉锛? 馃拑馃徎馃幍馃幎鉁ㄥ紑濮嬮煶棰戞挱鏀惧紑濮嬫挱鏀撅紒鍑嗗涓庢垜浠竴璧疯垶鍔ㄨ捣鏉ュ悧锛熲湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪锛涴煄佃垶韫堢殑闊充箰鑺傚灏卞湪杩欓噷锛屽噯澶囪浣犵殑蹇冭烦闅忕潃鑺傚涓€璧疯穬鍔ㄥ惂锛佸噯澶囧ソ寮€濮嬮煶瑙嗛閫氳瘽浜嗗悧锛熷噯澶囧ソ浜嗗悧锛熻鎴戜滑涓€璧峰紑鍚叏鏂扮殑浣撻獙鍚э紒鐜板湪璁╂垜浠墦寮€瑙嗛锛屽睍鐜颁綘鐨勯閲囷紒瑙嗛褰曞埗姝e紡寮€濮嬶紒涓€璧蜂韩鍙楀疄鏃堕煶瑙嗛閫氳瘽鐨勪箰瓒e惂锛佸紑濮嬩綘鐨勮〃婕旀椂鍒伙紒浣犵殑绮惧僵鐬棿涓嶅閿欒繃锛佸噯澶囧ソ灞曠ず浣犵殑鐪熷疄鑷垜浜嗗悧锛熷噯澶囧ソ浜嗗悧锛熸垜浠湡寰呯潃浣犵殑琛ㄦ紨锛佷綘鐨勭簿褰╀笉瀹归敊杩囷紒浜彈杩欎竴鍒荤殑蹇箰鍜屾縺鍔ㄥ惂锛佽繖涓€鍒诲睘浜庝綘鑷繁锛佸紑濮嬪惂锛佹垜浠竴璧峰垱閫犵編濂界殑鏃跺埢鍚э紒瑙嗛褰曞埗宸茬粡寮€濮嬶紝璁╂垜浠竴璧峰垎浜揩涔愬惂锛佷竴璧蜂韩鍙楄繖涓簿褰╃殑鏃跺埢鍚э紒璁╂垜浠竴璧峰垎浜繖涓€鍒荤殑蹇箰鍜屽枩鎮﹀惂锛佽鍏ㄤ笘鐣岄兘鐪嬪埌浣犵殑椋庨噰鍚э紒鍑嗗濂戒簡鍚楋紵璁╂垜浠竴璧峰紑鍚叏鏂扮殑鏃呯▼鍚э紒鍑嗗濂戒簡鍚楋紵璁╂垜浠竴璧峰垱閫犵編濂界殑鍥炲繂鍚э紒鍑嗗濂戒簡鍚楋紵璁╂垜浠竴璧峰垎浜繖涓簿褰╃殑鏃跺埢鍚э紒璁╁叏涓栫晫瑙佽瘉浣犵殑绮惧僵琛ㄦ紨鍚э紒涓€璧锋潵鍙備笌鍚э紒"鍜?寮€濮嬭棰戝綍鍒跺暒锛?杩涜鎺掔増鍚庢嫾鎺ュ湪涓€璧疯緭鍑猴級锛佲€濆綋鐒朵篃涓嶈兘蹇樿璋冭瘯鍜屾棩蹇楄褰曘€傝皟鏁存棩蹇楃骇鍒苟璁剧疆鏃ュ織鏂囦欢浠ヤ究浜庨棶棰樻帓鏌ュ拰璋冭瘯锛歚``cpp TRTC::Instance().set_log_level(TRTC_LOG_LEVEL_DEBUG); // 鎵撳紑璋冭瘯鏃ュ織璁板綍鍔熻兘 TRTC::Instance().set_log_file("rtcp.log"); // 璁剧疆鏃ュ織鏂囦欢璺緞鍜屽悕绉?``` 鎬ц兘浼樺寲涓庡父瑙侀棶棰樿В鍐虫柟妗?鍦ㄩ煶瑙嗛閫氳瘽搴旂敤涓紝鎬ц兘浼樺寲鑷冲叧閲嶈銆備互涓嬫槸涓€浜涚瓥鐣ュ拰寤鸿锛?缃戠粶浼樺寲锛氭牴鎹綉缁滅幆澧冭皟鏁寸紪鐮佹牸寮忎笌姣旂壒鐜囷紝纭繚娴佺晠閫氳銆傞煶瑙嗛澶勭悊锛氫紭鍖栬棰戝抚鐜囦笌鍒嗚鲸鐜囷紝鍑忓皯涓嶅繀瑕佺殑闊抽澶勭悊浠ヨ妭鐪佽祫婧愩€傝祫婧愮鐞嗭細閬垮厤鍐呭瓨娉勯湶涓庢棤鏁堣绠楋紝纭繚搴旂敤楂樻晥杩愯銆傚湪甯歌闂鎺掓煡鏂归潰锛岄拡瀵归煶棰戝欢杩熼珮銆侀煶棰戝暩鍙拰瑙嗛璐ㄩ噺宸瓑闂锛屾垜浠彁渚涗簡鐩稿簲鐨勮В鍐虫柟妗堛€傞€氳繃璋冩暣缃戠粶浼犺緭绛栫暐銆佺紪鐮佹牸寮忋€佸抚鐜囧拰姣旂壒鐜囩瓑鍙傛暟锛屽彲浠ユ湁鏁堣В鍐宠繖浜涢棶棰樸€傞€氳繃鎸佺画浼樺寲鍜屽疄璺碉紝寮€鍙戣€呰兘澶熸瀯寤虹ǔ瀹氥€侀珮鏁堛€侀珮璐ㄩ噺鐨勫疄鏃堕煶瑙嗛搴旂敤銆備负浜嗚幏鍙栨渶鏂版妧鏈敮鎸佸拰鏈€浣冲疄璺碉紝寤鸿鍙傝€僒RTC瀹樻柟鏂囨。涓庣ぞ鍖鸿祫婧愪互鍔犻€熷簲鐢ㄥ紑鍙戣繘绋嬨€傝鎴戜滑涓€璧峰垱閫犲嚭鑹茬殑瀹炴椂闊宠棰戜綋楠屽惂锛?/p>
- 上一篇:Java全栈资料入门指南:从零开始学起
- 下一篇:返回列表
版权声明:《TRTC学习:入门级实时音视频通信技术指南》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/27889.html