Mediarecorder录音
2015-09-15 19:49
148 查看
必须得写权限
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <Button android:id="@+id/button_start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始录制"/> <Button android:id="@+id/button_stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止录制"/> </LinearLayout>
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button mButtonStart; private Button mButtonStop; private MediaRecorder recorder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButtonStart= (Button) findViewById(R.id.button_start); mButtonStop= (Button) findViewById(R.id.button_stop); mButtonStart.setOnClickListener(this); mButtonStop.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.button_start: recorder=new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置录音方式 麦克风 recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//设置录音格式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//设置音频编译 recorder.setOutputFile(Environment.getExternalStorageDirectory()+"/myrecorder.3gp");//设置文件储存的位置 try { recorder.prepare(); recorder.start(); } catch (IOException e) { e.printStackTrace(); } break; case R.id.button_stop: recorder.stop(); recorder.reset();//重置对象 recorder.release();//回收资源,现在的对象不能被重用 break; default: break; } } }
相关文章推荐
- 14级结训赛3314-扩展欧几里德
- 从一台2005数据库备份后 ,想到另一台2005数据恢复 但发生 备份集中的数据库备份与现有的XX 数据库不同 选择覆盖现有数据库 也不行
- 台大机器学习第一讲
- 2015广东移动“灯塔计划”暑期实习面试小记
- javascript判断非空
- python笔记之bisect模块
- python笔记之常用模块用法分析
- light oj 1019【最短路模板】
- ios7 侧滑返回
- ORM对象关系映射之GreenDAO高级用法
- Cache技术――OSCache(转-全)
- C++左值和右值
- 例题6-1 并行程序模拟 UVa210 双端队列
- ORM对象关系映射之GreenDAO高级用法
- sql学习笔记
- Type InvokeMember()用法简介
- python笔记之itertools模块
- .net micro framework Netduino无法休眠
- fragment与Activity的生命周期
- python笔记之提取网页中的超链接