視頻開發技術之文件傳輸限速

自AnyChat SDK V4.1.0.1版本開始,AnyChat支持文件傳輸限速功能。默認設置下,AnyChat的文件傳輸以及緩衝區傳輸都是自動檢測網絡可用帶寬,並按“以最短的時間,最快的速度傳輸”的原則進行網絡傳輸,這種原則可以適應大部分的應用,但在部分應用中,需要預留一些帶寬給其它模塊,並不希望AnyChat的文件傳輸佔用所有的網絡帶寬,這種情況下就可以採用限速功能。

 

AnyChat文件傳輸限速功能是針對本地文件上傳進行設置,而且是控制總的上傳速率,如設置限速爲500kbps,則當同時傳輸1個文件時,最大上傳速度爲500kbps,如果同時上傳2個文件,則每個文件的最大上傳速度爲250kbps,依此類推。

 

BRAC_TransFileBRAC_TransBufferEx兩個API均受傳輸限速功能控制。

 

傳輸限速接口定義如下:

1.// 傳輸緩衝區、文件最大碼率控制(參數爲int型,0 不限制,以最快速率傳輸[默認], 否則表示限制碼率,單位爲:bps)
2.#define BRAC_SO_NETWORK_TRANSBUFMAXBITRATE      46

 

AnyChat平臺默認是關閉傳輸限速功能,開啓的方法可參考如下代碼(初始化SDK成功之後調用有效,可在需要的地方調用,動態調節):

1.// 限制上傳速度爲500kbps(62kBps)
2.DWORD dwMaxUpRate = 500 * 1000;
3.BRAC_SetSDKOption(BRAC_SO_NETWORK_TRANSBUFMAXBITRATE,(const char*)&dwMaxUpRate, sizeof(DWORD));

若要取消傳輸限速功能,可參考如下代碼:

1.// 取消限速功能
2.DWORD dwMaxUpRate = 0;
3.BRAC_SetSDKOption(BRAC_SO_NETWORK_TRANSBUFMAXBITRATE,(const char*)&dwMaxUpRate, sizeof(DWORD));
發佈了27 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章