下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android仿微信語(yǔ)音對(duì)講錄音功能
自微信出現(xiàn)以來(lái)取得了很好的成績(jī),語(yǔ)音對(duì)講的實(shí)現(xiàn)更加方便了人與人之間的交流。今天來(lái)實(shí)踐一下微信的語(yǔ)音對(duì)講的錄音實(shí)現(xiàn),這個(gè)也比較容易實(shí)現(xiàn)。在此,我將該按鈕封裝成為一個(gè)控件,并通過(guò)策略模式的方式實(shí)現(xiàn)錄音和界面的解耦合,以方便我們?cè)趯?shí)際情況中對(duì)錄音方法的不同需求(例如想要實(shí)現(xiàn)wav格式的編碼時(shí)我們也就不能再使用MediaRecorder,而只能使用AudioRecord進(jìn)行處理)。效果圖:實(shí)現(xiàn)思路:1.在微信中我們可以看到實(shí)現(xiàn)語(yǔ)音對(duì)講的是通過(guò)點(diǎn)按按鈕來(lái)完成的,因此在這里我選擇重新自己的控件使其繼承自Button并重寫(xiě)onTouchEvent方法,來(lái)實(shí)現(xiàn)對(duì)錄音的判斷。2.在onTouchEvent方法中,當(dāng)我們按下按鈕時(shí),首先顯示錄音的對(duì)話(huà)框,然后調(diào)用錄音準(zhǔn)備方法并開(kāi)始錄音,接著開(kāi)啟一個(gè)計(jì)時(shí)線(xiàn)程,每隔0.1秒的時(shí)間獲取一次錄音音量的大小,并通過(guò)Handler根據(jù)音量大小更新Dialog中的顯示圖片;
當(dāng)我們移動(dòng)手指時(shí),若手指向上移動(dòng)距離大于50,在Dialog中顯示松開(kāi)手指取消錄音的提示,并將isCanceled變量(表示我們最后是否取消了錄音)置為true,上移動(dòng)距離小于20時(shí),我們恢復(fù)Dialog的圖片,并將isCanceled置為false;
當(dāng)抬起手指時(shí),我們首先關(guān)閉錄音對(duì)話(huà)框,接著調(diào)用錄音停止方法并關(guān)閉計(jì)時(shí)線(xiàn)程,然后我們判斷是否取消錄音,若是的話(huà)則刪除錄音文件,否則判斷計(jì)時(shí)時(shí)間是否太短,最后調(diào)用回調(diào)接口中的recordEnd方法。
3.在這里為了適應(yīng)不同的錄音需求,我使用了策略模式來(lái)進(jìn)行處理,將每一個(gè)不同的錄音方法視為一種不同的策略,根據(jù)自己的需要去改寫(xiě)。注意問(wèn)題1.在onTouchEvent的返回值中應(yīng)該返回true,這樣才能屏蔽之后其他的觸摸事件,否則當(dāng)手指滑動(dòng)離開(kāi)Button之后將不能在響應(yīng)我們的觸摸方法。
2.不要忘記為自己的App添加權(quán)限:代碼參考RecordButton類(lèi),我們的自定義控件,重新復(fù)寫(xiě)了onTouchEvent方法Dialog布局:錄音時(shí)間太短的Toast布局:自定義的Dialogstyle,對(duì)話(huà)框樣式RecordStrategy錄音
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第二單元 多彩音樂(lè)劇-雪絨花 教案 人音版初中音樂(lè)八年級(jí)上冊(cè)
- DB6110-T 47-2024 連翹氣候品質(zhì)評(píng)價(jià)規(guī)程
- 北師大版(2019) 必修第三冊(cè)Unit 9 Learning Viewing workshop the dynamic brain 教學(xué)設(shè)計(jì)
- 安徽省阜陽(yáng)市潁州區(qū)阜陽(yáng)三中2024-2025學(xué)年高三下第七次周練化學(xué)試題含解析
- 工程創(chuàng)優(yōu)注意事項(xiàng)
- 安徽定遠(yuǎn)啟明中學(xué)2025年下學(xué)期高三年級(jí)七調(diào)考試(月考卷)化學(xué)試題含解析
- 《棉花地打桿殘膜回收機(jī)》(征求意見(jiàn)稿)
- 某縣污水處理廠建設(shè)項(xiàng)目可行性研究報(bào)告
- 誠(chéng)信考試倡議書(shū)400字以上(34篇)
- 初一上冊(cè)教學(xué)工作總結(jié)(31篇)
- 中國(guó)鋁錳合金行業(yè)發(fā)展分析及發(fā)展前景與趨勢(shì)預(yù)測(cè)研究報(bào)告(2024-2030)
- (正式版)HGT 3873-2024 增塑劑 己二酸二(2-乙基己基)酯(DOA)
- 貴州省安全員B證考試試題《試題》題庫(kù)
- 龍軟LongRuanGIS地測(cè)空間管理信息系統(tǒng)教程-wx4766
- 公園人流防控預(yù)案
- 演出活動(dòng)安保工作方案及措施
- 中華全國(guó)總工會(huì)辦公廳印發(fā)《加快工會(huì)數(shù)字化建設(shè)工作方案》
- 國(guó)檢小學(xué)美術(shù)功能室記錄表
- 2024年《憲法》知識(shí)競(jìng)賽試題庫(kù)及答案(共88題)
- 牙膏行業(yè)分析及牙膏市場(chǎng)調(diào)查預(yù)測(cè)報(bào)告
- (高清版)DZT 0333-2020 頁(yè)巖氣探明儲(chǔ)量報(bào)告編寫(xiě)規(guī)范
評(píng)論
0/150
提交評(píng)論