Android 实现长按录音获取实时音量显示图片(类似微信) |
您所在的位置:网站首页 › 音量图片环境 › Android 实现长按录音获取实时音量显示图片(类似微信) |
本文主要是提供录音实时音量的显示(类似微信发语音的效果),对于录音的过程不做阐述(基本都会),有源码下载。 1. 创建一个Layout
3.. 设置按钮的OnTouchListener事件 bt.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_DOWN: bt.setText("松开结束"); mRecorduUtil.startRecord(); if (mRecorduUtil.isRecording()) { //将step2中的linearlayout设为可视 ll_record.setVisibility(View.VISIBLE); /** *启动线程 */ Thread t = new Thread(mPollTask); t.start(); } break; case MotionEvent.ACTION_UP: bt.setText("按住录音"); ll_record.setVisibility(View.GONE); mRecorduUtil.stopRecord(); updateBell(); mHandler.removeCallbacks(mPollTask); break; } return true; } });4.. 通过Handler定时获取音量更新图片 private Runnable mPollTask = new Runnable() { public void run() { int mVolume = mRecorduUtil.getVolume(); Log.d("volume", mVolume + ""); updateVolume(mVolume); mHandler.postDelayed(mPollTask, 100); } }; // 更新列表 private void updateBell() { List list = new FileUtil().getCustomBell(RecordUtil.AUDIO_DIR); lv.setAdapter(new CustomBellAdapter(list, MainActivity.this)); } // 更新音量图 private void updateVolume(int volume) { switch (volume) { case 1: iv_volume.setImageResource(R.drawable.p1); break; case 2: iv_volume.setImageResource(R.drawable.p2); break; case 3: iv_volume.setImageResource(R.drawable.p3); break; case 4: iv_volume.setImageResource(R.drawable.p4); break; case 5: iv_volume.setImageResource(R.drawable.p5); break; case 6: iv_volume.setImageResource(R.drawable.p6); break; case 7: iv_volume.setImageResource(R.drawable.p7); break; default: break; } }5.. 获取音量值 // 获取音量值,只是针对录音音量 public int getVolume() { int volume = 0; // 录音 if (mRecorder != null && recording) { volume = mRecorder.getMaxAmplitude() / 650; Log.d("db", volume + ""); if (volume != 0) volume = (int) (10 * Math.log10(volume)) / 3; Log.d("volume", volume + ""); } return volume; }6.. 效果图 源码下载地址:http://download.csdn.net/detail/qq_25697993/9227123 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |