未验证 提交 a23fa333 编写于 作者: 门心叼龙's avatar 门心叼龙 提交者: GitHub

Update README.md

上级 460a4f3b
...@@ -112,7 +112,78 @@ public void play(String filepath) { ...@@ -112,7 +112,78 @@ public void play(String filepath) {
#### 缺点: #### 缺点:
* 录制格式为pcm,在播放器不能直接播放,需要编码和压缩 * 录制格式为pcm,在播放器不能直接播放,需要编码和压缩
#### 使用 #### 使用
##### 初始化
```
public SuperMediaManager(Context context) {
mMediaRecorder = new MediaRecorder();
//设置音频的来源
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//设置音频的输出格式
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);//设置输出文件的格式
//设置音频文件的编码
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);//设置音频文件的编码
mMediaPlayer = new MediaPlayer();
}
```
##### 开始录制 ##### 开始录制
```
public void startRecord(String filepath) {
Log.v(TAG, "startRecord startRecord");
Log.v(TAG, "file path:" + filepath);
//如果正在录制,就返回了
if(isRecording){
return;
}
mMediaRecorder.setOutputFile(filepath);
try {
//录制前准备工作
mMediaRecorder.prepare();
//开始录制
mMediaRecorder.start();
isRecording = true;
Log.v(TAG, "startRecord record succ...");
} catch (Exception e) {
Log.v(TAG, "startRecord record fail:" + e.toString());
}
}
```
##### 停止录制 ##### 停止录制
##### 录制监听 ```
public void stopRecord() {
if (mMediaRecorder != null && isRecording) {
//停止录制
mMediaRecorder.stop();
//重新开始
mMediaRecorder.reset();//注意:可以通过返回setAudioSource()步骤来重用该对象
//mMediaRecorder.release();注意:这个对象不能再次被使用,如果此次再次录制,就会报错
isRecording = false;
}
}
```
##### 播放
```
public void play(String filepath) {
try {
//如果正在播放,然后在播放其他文件就直接崩溃了
if(mMediaPlayer.isPlaying()){
return;
}
//设置数据源
mMediaPlayer.setDataSource(filepath);
//这个准备工作必须要做
mMediaPlayer.prepare();
mMediaPlayer.start();
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//播放完毕再重置一下状态,下次播放可以再次使用
mp.reset();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册