聲網(wǎng)官網(wǎng)已經(jīng)正式發(fā)布 Agora 視頻通話/視頻直播 Web SDK 2.5版,接下來簡要介紹一下 2.5版的亮點(diǎn)新功能:
- 新增支持 IPv6 網(wǎng)絡(luò)環(huán)境,并正常使用 Agora 服務(wù);
- 在 Client.join 接口中,在原有支持整數(shù)型 uid 的基礎(chǔ)上,已經(jīng)新增支持字符串類型 uid,便于與開發(fā)者自己的賬號系統(tǒng)或信令系統(tǒng)打通;
- 新增支持動態(tài)切換音頻、視頻輸入/輸出設(shè)備的接口,若已經(jīng)發(fā)布流,即正在直播連麥中,切換設(shè)備后不用重新發(fā)流,保證最佳用戶體驗(yàn);
- 新增支持伴奏混音,讓主播可在直播的同時,播放音頻文件聲音并進(jìn)行混音后推流給觀眾,有助于實(shí)現(xiàn)邊直播連麥邊播放音樂或更多創(chuàng)新場景;
- 新增多個音視頻軌道管理接口,支持開發(fā)者對音頻、視頻軌道分別進(jìn)行管理,比如開發(fā)者可新建混音音軌,實(shí)現(xiàn)混音效果(是的,可與上述新功能搭配使用);
- 新增對 mac OS、Windows 版 360瀏覽器的支持;
- 新增多個用戶端質(zhì)量監(jiān)控?cái)?shù)據(jù)接口,包括網(wǎng)絡(luò)類型、網(wǎng)絡(luò)連接情況、系統(tǒng)電量、視頻流與音頻流狀態(tài)等,讓開發(fā)者也可以隨時了解用戶端的通話質(zhì)量情況;
繼續(xù)閱讀,了解具體新增了哪些接口。如需了解每個接口的使用與參數(shù),請點(diǎn)擊「閱讀原文」訪問聲網(wǎng)Agora 開發(fā)者文檔中心。
Agora Web SDK 2.5版
Web SDK 可用于構(gòu)建基于 Web 的多人視頻通話或視頻直播產(chǎn)品,最多可支持17人同時連麥。目前最新版本對瀏覽器支持情況如下表:
2.5版本于 2018 年 10 月 30 日發(fā)布。新增功能與問題修復(fù)如下。
新增功能
為更好地與 Agora 其他 SDK 互通,實(shí)現(xiàn)更多功能,Web SDK 在本版本中新增了如下功能。詳細(xì)的接口說明,請參考 Agora Web SDK API Reference。
1.質(zhì)量監(jiān)控
為方便用戶查看應(yīng)用程序的通話質(zhì)量,新增如下接口:
- Client.getNetworkStats :獲取網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)(網(wǎng)絡(luò)類型)。
- Client.getSystemStats :獲取系統(tǒng)數(shù)據(jù)(系統(tǒng)電量)。
- Client.getRemoteAudioStats :獲取遠(yuǎn)端音頻統(tǒng)計(jì)數(shù)據(jù)。
- Client.getLocalAudioStats :獲取本地音頻統(tǒng)計(jì)數(shù)據(jù)。
- Client.getRemoteVideoStats :獲取遠(yuǎn)端視頻統(tǒng)計(jì)數(shù)據(jù)。
- Client.getLocalVideoStats :獲取本地視頻統(tǒng)計(jì)數(shù)據(jù)。
- Client.getTransportStats :獲取網(wǎng)絡(luò)連接統(tǒng)計(jì)數(shù)據(jù)。
2.支持 IPv6
支持 IPv6 網(wǎng)絡(luò)環(huán)境接入,并正常使用 Agora 服務(wù)。本地網(wǎng)關(guān)必須同時支持 IPv4 協(xié)議棧。
3.媒體設(shè)備管理
可提供靈活的設(shè)備管理功能,以及設(shè)備狀態(tài)查詢。
枚舉可用的音頻輸入輸出設(shè)備和視頻輸入設(shè)備
新增如下接口:
- Client.getRecordingDevices:枚舉音頻輸入設(shè)備,如麥克風(fēng)。
- Client.getPlayoutDevices :枚舉音頻輸出設(shè)備,如揚(yáng)聲器。
- Client.getCameras :枚舉視頻輸入設(shè)備,如攝像頭。
同時新增如下事件,用來告知應(yīng)用程序設(shè)備狀態(tài)的變化:
- recordingDeviceChanged :通知應(yīng)用程序音頻輸入設(shè)備已改變。
- playoutDeviceChanged :通知應(yīng)用程序音頻輸出設(shè)備已改變。
- cameraChanged :通知應(yīng)用程序視頻輸入設(shè)備已改變。
切換媒體設(shè)備
新增 Stream.switchDevice 接口,支持在頻道內(nèi)切換媒體輸入設(shè)備,如麥克風(fēng)、攝像頭等。
新增 Stream.setAudioOutput 接口,支持選擇音頻輸出設(shè)備,可以切換麥克風(fēng)和揚(yáng)聲器。
4.支持伴奏混音
支持混音功能,混音是指原音(麥克風(fēng)采集的音頻)和伴奏(音頻文件聲音)混合。新增如下伴奏混音相關(guān)的接口:
- Stream.startAudioMixing :開始播放伴奏。
- Stream.stopAudioMixing :停止播放伴奏。
- Stream.pauseAudioMixing :暫停播放伴奏。
- Stream.resumeAudioMixing :恢復(fù)播放伴奏。
- Stream.adjustAudioMixingVolume :調(diào)節(jié)伴奏音量。
- Stream.getAudioMixingDuration :獲取伴奏時長。
- Stream.getAudioMixingCurrentPosition :獲取伴奏播放進(jìn)度。
- Stream.setAudioMixingPosition :設(shè)置伴奏音頻文件的播放位置。
5.音視頻軌道管理
支持靈活管理音視頻頻道,新增如下接口:
- Stream.getAudioTrack :獲取音頻軌道。
- Stream.getVideoTrack :獲取視頻軌道。
- Stream.replaceTrack :替換音視頻軌道。
- Stream.addTrack :添加音視頻軌道。
- Stream.removeTrack :移除音視頻軌道。
6.其他新增功能
- 支持兩種視頻顯示模式,可以在 Stream.play 接口中設(shè)置播放流的顯示模式。
- 新增 Stream.setScreenBitrate 接口,支持手動設(shè)置屏幕共享時的視頻碼率。
- 新增 Client.enableAudioVolumeIndicator 接口,允許 SDK 定期向應(yīng)用程序反饋當(dāng)前誰在說話,以及說話者的音量。
- 新增 Stream.setAudioVolume 接口,支持設(shè)置訂閱流的音量。
- 新增 networkTypeChanged 事件,通知應(yīng)用程序網(wǎng)絡(luò)類型已改變。
- 新增 streamTypeChange 事件,通知應(yīng)用程序視頻流類型已由大流變?yōu)樾×,或小流變(yōu)榇罅鳌?/li>
- Client.join 接口中,在原來支持整型 uid 的基礎(chǔ)上,新增對字符串類型的支持。
- 支持 360 安全瀏覽器 9.1.0.432 及以上版本。
- 支持 Windows XP 平臺的 Chrome 49 瀏覽器。
問題修復(fù)
修復(fù)了手機(jī)端使用 Safari 或 Chrome 瀏覽器進(jìn)入頻道后,在僅有音頻通話的情況下對 video codec 的依賴。
修復(fù)了使用 Safari 瀏覽器推流后調(diào)用 Stream.close 關(guān)閉流,對端 10 秒后無法收到 stream-removed 回調(diào)的問題。
修復(fù)了重置 Stream.userId 后,收到 Warning 的問題。