音频录制 小实例
来源:互联网 发布:tp路由器的访客网络 编辑:程序博客网 时间:2024/05/10 11:34
首先设置相关权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.moliying.a62_mediarecorder.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始录制" android:onClick="startClick" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止录制" android:onClick="stopClick" android:id="@+id/button2" android:layout_below="@+id/button" android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/></RelativeLayout>
package com.moliying.a62_mediarecorder;import android.media.MediaRecorder;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import java.io.IOException;public class MainActivity extends AppCompatActivity { private MediaRecorder mr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mr = new MediaRecorder(); } public void init(){ mr.reset(); mr.setAudioSource(MediaRecorder.AudioSource.MIC);//设置音源 mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//设置输出的格式为mp3 mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); String path = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_MUSIC)+"/"+System.currentTimeMillis()+".mp3"; mr.setOutputFile(path); try { mr.prepare(); } catch (IOException e) { e.printStackTrace(); } } public void startClick(View view){ init(); mr.start(); } public void stopClick(View view){ mr.stop(); } @Override protected void onDestroy() { super.onDestroy(); if(mr!=null) mr.release(); }}
第二个小实例 代码稍微有点差别 更严谨些
<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.moliying.a60_media.RecorderActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="start" android:id="@+id/button7_start" android:layout_alignParentTop="true" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="stop" android:id="@+id/button8_stop" android:layout_below="@+id/button7_start" android:layout_alignParentStart="true" /></RelativeLayout>
package com.moliying.a60_media;import android.media.MediaRecorder;import android.os.Environment;import android.provider.Settings;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.io.IOException;public class RecorderActivity extends AppCompatActivity implements View.OnClickListener { private MediaRecorder mr; private Button button_start; private Button button_stop; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recorder); button_start = (Button) findViewById(R.id.button7_start); button_stop = (Button) findViewById(R.id.button8_stop); button_start.setOnClickListener(this); button_stop.setOnClickListener(this); button_stop.setEnabled(false); mr = new MediaRecorder(); } 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)+"/"+ System.currentTimeMillis()+".mp3"; mr.setOutputFile(path); try { mr.prepare(); } catch (IOException e) { e.printStackTrace(); } } @Override public void onClick(View v) { switch (v.getId()){ case R.id.button7_start: init(); mr.start(); button_stop.setEnabled(true); button_start.setEnabled(false); break; case R.id.button8_stop: mr.stop(); button_stop.setEnabled(false); button_start.setEnabled(true); break; } } @Override protected void onDestroy() { super.onDestroy(); if(mr!=null)mr.release(); }}
0 0
- 音频录制 小实例
- Andorid 实例源码:音频录制
- 音频录制
- 音频录制
- 录制音频
- 录制音频
- 音频录制
- 录制音频
- 录制音频和播放音频
- 音频录制和播放
- Android录制音频
- ios 录制音频
- 音频录制之AVAudioRecorder
- android 音频录制
- Android 录制音频示例
- Android MediaRecorder录制音频
- 音频录制之AVAudioRecorder
- 使用MediaRecorder录制音频
- HDU 1052 - Tian Ji -- The Horse Racing(贪心)
- Finding Nemo--BFS
- 炉石传说外 挂记(序)
- 二叉树的遍历方法
- spring-session整合redis集群的时候,No qualifying bean of type [org.springframework.session.SessionRepository
- 音频录制 小实例
- 跟着我左手右手一个慢动作,轻松提交AppStore(AppStore提交App流程最新超详细攻略)(交货篇)
- Spring boot 切换配置文件到yaml
- 计算机理论:有限状态机、图灵机到现代计算机
- 2016.08.01 CocoaPods管理第三方库
- Children of the Candy Corn poj3083(广搜加深搜)
- hdu4411 Arrest 最小费用流
- top命令使用说明
- 可以滚动的集合视图