代码拉取完成,页面将自动刷新
对MediaRecorder进行了封装,使用起来更方便
HMediaRecorder mRecorder = new HMediaRecorder();
//初始化
mRecorder.init(this);
//设置状态变化回调
mRecorder.setOnStateChangeCallback(new HMediaRecorder.OnStateChangeCallback()
{
@Override
public void onStateChanged(FMediaRecorder recorder, FMediaRecorder.State oldState, FMediaRecorder.State newState)
{
Log.i(TAG, "Recorder onStateChanged:" + newState);
}
});
//设置录音回调
mRecorder.setOnRecorderCallback(new HMediaRecorder.OnRecorderCallback()
{
@Override
public void onRecordSuccess(File file, long duration)
{
Log.i(TAG, "Recorder onRecordSuccess:" + file.getAbsolutePath() + "," + duration);
FMediaPlayer.getInstance().setDataPath(file.getAbsolutePath());
}
});
//设置异常回调
mRecorder.setOnExceptionCallback(new HMediaRecorder.OnExceptionCallback()
{
@Override
public void onException(Exception e)
{
Log.i(TAG, "Recorder onException:" + e);
}
});
//开始录音,如果File为null,则内部会自动创建File
mRecorder.start(new File(getExternalCacheDir(), "record.aac"));
//停止录音
mRecorder.stop();
//释放录音器,释放后需要重新调用初始化方法才可以继续使用
mRecorder.release();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。