本篇文章为大家展示了怎么在Android应用中实现一个语音消息发送功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
直接上代码:
//语音操作对象 private MediaPlayer mPlayer = null; private MediaRecorder mRecorder = null; //语音文件保存路径 private String FileName = null; FileName = Environment.getExternalStorageDirectory).getAbsolutePath) + "/soundrecord/amrsend.amr";
定义一个ImageView,然后给它设置监听事件:
@Override
public boolean onTouchView 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.setAudioSourceMediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormatMediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFileFileName);
mRecorder.setAudioEncoderMediaRecorder.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", "执行删除");
new FileFileName).delete);
Log.e"MainActivity", "执行删除后文件是否还存在:" + new FileFileName).exists));
}
break;
default:
break;
}
return true;
}
然后在清单文件中加上需要的权限就行了:
<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" />
