Android仿微信發(fā)送語音消息的功能及示例代碼
微信的發(fā)送語音是有一個(gè)向上取消的,我們使用onTouchListener來監(jiān)聽手勢(shì),然后做出相應(yīng)的操作就行了。
直接上代碼:
//語音操作對(duì)象 private MediaPlayer mPlayer = null; private MediaRecorder mRecorder = null; //語音文件保存路徑 private String FileName = null; FileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/soundrecord/amrsend.amr";
定義一個(gè)ImageView,然后給它設(shè)置監(jiān)聽事件:
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
beginX = motionEvent.getX();
beginY = motionEvent.getY();
Log.e("MainActivity", "beginX:" + beginX);
Log.e("MainActivity", "beginY:" + beginY);
Log.e("MainActivity", "ACTION_DOWN");
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(FileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e("MainActivity", "prepare() failed" + e);
}
mRecorder.start();
break;
case MotionEvent.ACTION_UP:
finalX = motionEvent.getX();
finalY = motionEvent.getY();
Log.e("MainActivity", "finalX:" + finalX);
Log.e("MainActivity", "finalY:" + finalY);
Log.e("MainActivity", "ACTION_UP");
mRecorder.stop();
mRecorder.release();
mRecorder = null;
if ((beginY - finalY) > 50) {
Log.e("MainActivity", "執(zhí)行刪除");
new File(FileName).delete();
Log.e("MainActivity", "執(zhí)行刪除后文件是否還存在:" + new File(FileName).exists());
}
break;
default:
break;
}
return true;
}
然后在清單文件中加上需要的權(quán)限就行了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
也可以在按下之后播放動(dòng)畫,顯示正在錄音,然后在抬起動(dòng)作之后結(jié)束動(dòng)畫,這樣就比較形象了。
總結(jié)
以上所述是小編給大家介紹的Android仿微信發(fā)送語音消息的功能及示例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android Studio中Run按鈕是灰色的快速解決方法
這篇文章主要介紹了Android Studio中Run按鈕是灰色的快速解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-03-03
Android編程簡(jiǎn)易實(shí)現(xiàn)XML解析的方法詳解
這篇文章主要介紹了Android編程簡(jiǎn)易實(shí)現(xiàn)XML解析的方法,結(jié)合實(shí)例形式總結(jié)分析了Android操作xml文件的各種常見技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08
在android開發(fā)中進(jìn)行數(shù)據(jù)存儲(chǔ)與訪問的多種方式介紹
很多時(shí)候我們的軟件需要對(duì)處理后的數(shù)據(jù)進(jìn)行存儲(chǔ)或再次訪問,Android為數(shù)據(jù)存儲(chǔ)提供了多種方式,首先給大家介紹使用文件如何對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),感興趣的朋友可以了解下哈2013-06-06
Android 集成 google 登錄并獲取性別等隱私信息的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 集成 google 登錄并獲取 性別等隱私信息,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Android開發(fā)之圓角矩形創(chuàng)建工具RoundRect類定義與用法分析
這篇文章主要介紹了Android開發(fā)之圓角矩形創(chuàng)建工具RoundRect類定義與用法,結(jié)合完整實(shí)例形式分析了Android圓角矩形工具類的定義與簡(jiǎn)單使用技巧,需要的朋友可以參考下2018-01-01
Android 媒體庫數(shù)據(jù)更新方法總結(jié)
這篇文章主要介紹了Android 媒體庫數(shù)據(jù)更新方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android中RecyclerView實(shí)現(xiàn)商品分類功能
這篇文章主要為大家詳細(xì)介紹了Android中RecyclerView實(shí)現(xiàn)商品分類功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Android短信驗(yàn)證碼監(jiān)聽解決onChange多次調(diào)用的方法
本篇文章主要介紹了Android短信驗(yàn)證碼監(jiān)聽解決onChange多次調(diào)用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
android Bitmap圓角與倒影的具體實(shí)現(xiàn)代碼
android Bitmap圓角與倒影的具體實(shí)現(xiàn)代碼,需要的朋友可以參考一下2013-06-06

