扣丁学堂——MediaRecorder(录音功能)
2016-01-26 16:38
344 查看
一丶源码见本文
二丶演示(略)
三丶课程讲解
权限设置
MainActivity
xml(略)
二丶演示(略)
三丶课程讲解
权限设置
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
MainActivity
public class MainActivity extends AppCompatActivity implements MediaRecorder.OnErrorListener{ private MediaRecorder mr; private boolean prepared = false; private Button btnRecorder,btnStop; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnRecorder = (Button) findViewById(R.id.button_recorder); btnStop = (Button) findViewById(R.id.button2_stop); mr = new MediaRecorder(); init(); } private void init() { mr.reset(); mr.setAudioSource(MediaRecorder.AudioSource.MIC);//设置音源 mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//格式 mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//编码 //路径 String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)+ File.separator+System.currentTimeMillis()+".mp3"; mr.setOutputFile(path); try { mr.prepare(); prepared = true; } catch (IOException e) { e.printStackTrace(); } btnStop.setEnabled(false); } public void recorderClick(View view){ if(prepared){ mr.start(); prepared = false; btnStop.setEnabled(true); btnRecorder.setEnabled(false); } } public void stopClick(View view){ mr.stop(); btnStop.setEnabled(false); btnRecorder.setEnabled(true); } @Override protected void onDestroy() { super.onDestroy(); if(mr!=null){ mr.release(); } } @Override public void onError(MediaRecorder mr, int what, int extra) { mr.reset(); } }
xml(略)
相关文章推荐
- 使用ADIL访问远程服务
- mybatis 3
- int方法
- PyCharm远程调试设置
- oracle11g手工建库
- http://androidsource.top/code/source
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月26日)
- disconf-基于xml分布式配置管理hbase
- 5-25 念数字
- axisfault,faultcode:server.userException异常的解决办法
- 创想
- zabbix管理七之监控nginx性能
- myusql 性能优化2
- LINUX 当中 who am i 和 whoami 的区别
- Base64加解密方法
- apache配置远程代理及缓存
- kafka manager安装
- ACM 推荐blog汇总及OJ
- spark内核揭秘-14-Spark性能优化的10大问题及其解决方案
- 《啊哈!算法》读书笔记--排序(快速排序,冒泡排序)