XMPP 扎金花各种网络传送之音频发送
XMPP各種網絡傳送開發,一個好的扎金花游戲需要高強度的網絡傳輸支持,音頻的發送,與之前圖片的發送,有一定的相似,也有一些不同。音頻發送的核心思想,是按下按鈕開始錄音,松開手結束錄音并且保存錄音。因此需要處理按鈕的按下和抬手兩個監聽方法。但是其中有一個蘋果的bug: 自定義的按鈕無法同時處理TouchUpInSide 和 TouchDown。 就是按下按鈕不松手是一個打印,手一松開一個打印。這是不行的,都是手一松兩個同時打印。(除非按鈕特別大,一般小按鈕無法同時監聽這兩個點擊事件)。但是蘋果自帶的系統按鈕卻可以,不管多小,比如buttonWithTypeAdd(小加號按鈕)都可以,因此設置點擊聲音按鈕之后下面出現一個inputView,上面是可以同時處理這兩個時間的按鈕。通過這個按鈕來控制開始錄音和結束錄音。保存之后,也是轉化成data二進制文件,然后再通過base64編碼。然后加入子節點,和圖片類似發過去。接收的時候,也是取出節點內的stringValue解碼。但是顯示在tableview的cell中的是聲音的時間,點擊這個cell觸發聲音播放時間。從而播放音頻。播放時cell內部的某些樣式變化也是可以控制的。
先把界面中的聲音按鈕的點擊事件連線。
- (IBAction)setRecord {
??? // 切換焦點,彈出錄音按鈕
??? [self.recordText becomeFirstResponder];
}
其實就是自己隨便寫了個textField 點擊時就讓他獲取焦點,然后下面彈出一個輸入框上面有按鈕
總結
以上是生活随笔為你收集整理的XMPP 扎金花各种网络传送之音频发送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今天研究 Client本来是关联的Exp
- 下一篇: WZ132发现打CXY要么是程序员,要么