這裏主要介紹Android的音視頻開發! 編程
2.3.
編程要點
2.3.1.
SDK的Java Package
AnyChat for Android 的package 路徑是:com.bairuitech.anychat,因爲內核採用了JNI技術,須要與該包進行交互,因此上層不能修改包的名稱。 服務器
2.3.2.
SDK與Activity
Android應用是由一個或多個Activity組合而成,每一個Activity都有其生命週期(可參考Android相關開發文檔),而AnyChat for Android內核採用JNI技術,並進行了特殊的設計,使得AnyChat for Android能夠在多個Activity中共享,即AnyChat for Android的生命週期是從第一個Activity調用InitSDK方法開始,到最後一個Activity調用Release方法結束,中間的Activity不須要再初始化SDK。這樣即可實如今第一個Activity中登陸以後,便於當即切換第二個Activity繼續操做,而不須要在第二個Activity中再進行登陸的操做。 網絡
2.3.3.
SurfaceView視頻顯示
AnyChat for Android採用SurfaceView進行視頻顯示,上層應用只須要在Activity中建立一個SurfaceView控件,而後將控件句柄經過SetVideoPos方法傳遞給SDK,則當有視頻數據到達時,內核將會自動將視頻顯示到該SurfaceView控件上,不須要上層應用來處理視頻的顯示。
須要注意的是,部分Android設備顯示本地視頻時,須要啓動Overlay模式,不然不能進行本地視頻的預覽和採集,當啓動Overlay模式時,須要對SurfaceView控件進行相關屬性的設置,詳細信息可參考隨AnyChat for Android一同發佈的Demo程序源代碼。 ide
2.3.4.
字符編碼
Android平臺上層是Java虛擬機,採用Unicode編碼,AnyChat for Android 性能
AnyChat for Android SDK 開發手冊 佰銳科技 版權全部
內核在處理Android與Windows平臺的通訊時,會自動將字符串(如文字聊天數據)轉換爲上層平臺所對應的編碼,不須要應用層進行轉換,可是當上層應用使用透明通道在客戶端與服務器,或是客戶端之間傳輸數據,而須要顯示時,就須要上層應用手動來處理編碼轉換的任務,不然顯示將會出現亂碼。 ui