【mediarecorder】
mediarecorder_state_diagram: Initial
》Initialed 》DataSourceConfiged 》Prepared 》Recording
》Released 》 Error
录音界面
播放界面
开始录音(步骤)
停止录音(步骤)
播放实现(步骤)
1 检测SD卡存在,并更新SD卡中已存在的文件.
2 点击列表时,播放被点击的文件
3 播放录音文件
完整源码
JAVA源码
|
publicclassmediarecorder1 extendsListActivity
{
privateButton mAudioStartBtn;
privateButton mAudioStopBtn;
privateFile mRecAudioFile; // 录制的音频文件
privateFile mRecAudioPath; // 录制的音频文件路徑
privateMediaRecorder mMediaRecorder;// MediaRecorder对象
privateList<String> mMusicList = newArrayList<String>();// 录音文件列表
privateString strTempFile = "recaudio_";// 零时文件的前缀
@Override
protectedvoidonCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mymultimedia_mediarecorder1);
mAudioStartBtn = (Button) findViewById(R.id.mediarecorder1_AudioStartBtn);
mAudioStopBtn = (Button) findViewById(R.id.mediarecorder1_AudioStopBtn);
/*按钮状态*/
mAudioStartBtn.setEnabled(true);
mAudioStopBtn.setEnabled(false);
/* 检测是否存在SD卡*/
if(Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
{
mRecAudioPath = Environment.getExternalStorageDirectory();// 得到SD卡得路径
musicList();// 更新所有录音文件到List中
} else
{
Toast.makeText(mediarecorder1.this, "没有SD卡", Toast.LENGTH_LONG).show();
}
/* 开始按钮事件监听*/
mAudioStartBtn.setOnClickListener(newButton.OnClickListener()
{
@Override
publicvoidonClick(View arg0)
{
try
{
/* ①Initial:实例化MediaRecorder对象*/
mMediaRecorder = newMediaRecorder();
/* ②setAudioSource/setVedioSource*/
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置麦克风
/* ②设置输出文件的格式:THREE_GPP/MPEG-4/RAW_AMR/Default
* THREE_GPP(3gp格式,H263视频/ARM音频编码)、MPEG-4、RAW_AMR
(只支持音频且音频编码要求为AMR_NB)
* */
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
/* ②设置音频文件的编码:AAC/AMR_NB/AMR_MB/Default */
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
/* ②设置输出文件的路径*/
try
{
&nb |
|