首页 > 代码库 > Android多媒体之录音
Android多媒体之录音
录制音频的步骤:
1、创建录音对象
2、指定录音设备(初始化状态)
3、设置录制音频的码率
4、设置录制音频的编码格式
5、设置录制音频存放的位置
6、准备录音(准备状态)
7、开始录音
8、停止录音
xml文件:
1、创建录音对象
2、指定录音设备(初始化状态)
3、设置录制音频的码率
4、设置录制音频的编码格式
5、设置录制音频存放的位置
6、准备录音(准备状态)
7、开始录音
8、停止录音
9、释放资源
录制声音的权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
录制音频的状态图
public class MediaRecorderTest extends Activity { private MediaRecorder recorder; private MediaPlayer player; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.recorder); //1、创建录音对象 recorder = new MediaRecorder(); //2、指定录音设备(初始化状态) recorder.setAudioSource(MediaRecorder.AudioSource.MIC); //3、设置录制音频的码率 recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); //4、设置录制音频的编码格式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); //5、设置录制音频存放的位置(这里指定手机sdcard的根目录下,文件名为music.mp3) recorder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath() + "music.mp3"); try { //6、准备录音(准备状态) recorder.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //对刚才的录音文件进行播放,创建播放音频对象 player = new MediaPlayer(); try { //设置要播放的音频文件 player.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + "/music.mp3"); //准备播放音频(准备状态) player.prepare(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void start(View view){ recorder.start();//7、开始录音 Toast.makeText(this, "正在录音", 0).show(); } public void stop(View view){ recorder.stop();//8、停止录音 Toast.makeText(this, "结束录音,录音文件以保存到sdcard。", 0).show(); recorder.release();//9、释放资源 } public void play(View view){ player.start();//开始播放刚才录制的音频 } }
xml文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="录音" android:onClick="start"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止" android:onClick="stop" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="播放" android:onClick="play" /> </LinearLayout>
Android多媒体之录音
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。