MediaRecoder实现预览画面
来源:互联网 发布:开源 数据上报 编辑:程序博客网 时间:2024/06/06 01:07
private SurfaceView surfaceView;
private ImageButton imageButton;
public int click_down=0,lose_up=0;
public static final String TAG = "MainActivity";
public SurfaceHolder mholder;
private MediaRecorder mRecorder;
public SurfaceHolder mSurfaceHolder;
private boolean isStart = false;
private File myRecAudioFile;
private boolean mIsSufaceCreated = false;
getTime time=new getTime();
getSDCard path=new getSDCard();
String path0 = path.getSDPath();
private Camera camera;/
/实现预览功能
private void startPreview() {
//保证只有一个Camera对象if (camera != null || !mIsSufaceCreated) {
Log.d(TAG, "startPreview will return");
return;
}
camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
parameters.setPreviewFrameRate(20);
//设置相机预览方向
camera.setDisplayOrientation(90);
camera.setParameters(parameters);
try {
camera.setPreviewDisplay(mSurfaceHolder);
} catch (Exception e) {
Log.d(TAG, e.getMessage());
}
camera.startPreview();
}
//停止预览画面
private void stopPreview() {
//释放Camera对象
if (camera != null) {
try {
camera.setPreviewDisplay(null);
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
camera.stopPreview();
camera.release();
camera = null;
}
}
}
实现Callback借口的方法
//界面创建时
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
mIsSufaceCreated = true;
mSurfaceHolder = holder;
Log.d(TAG, "surfaceChanged 2");
}
//界面销毁时
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
mIsSufaceCreated = false;
if (isStart) {
mRecorder.stop();
mRecorder.release();
mRecorder = null;
}
stopPreview();//停止预览画面
}
//界面发生改变时
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
startPreview();
mSurfaceHolder = holder;
Log.d(TAG, "surfaceChanged 1");
然后实现startRecording()和stopRecording()方法!
- MediaRecoder实现预览画面
- MediaRecoder 实现录音机
- MediaRecoder 实现录音机
- MediaRecoder
- [多媒体]android MediaRecoder 实现录像机
- 【Android學習專題】多媒體篇:MediaRecoder 实现录音机
- android camera 摄像头预览画面变形
- MediaRecoder 框架结构
- Android启动画面实现
- 如何实现启动画面
- Android启动画面实现
- Android启动画面实现
- Android实现启动画面
- Android启动画面实现
- Android启动画面实现
- Android启动画面实现
- Android启动画面实现
- Android启动画面实现
- 1008. Elevator (20)
- 实习杂记(25):MarginStart和MarginLeft
- Java千百问_01基本概念(014)_同步、异步有什么区别
- PCLint error 1566 解决方法
- String为啥为final
- MediaRecoder实现预览画面
- 链表逆序的原理及实例
- 【OpenCV】OpenCV的图像绘制功能
- [Leetcode刷题]Missing Ranges
- 在外部js文件中获取web工程名
- Mac OSX下Sublime Text配置使用Ctags实现代码跳转
- 如何使用QQ分享,各种分享
- 素数判断中的一些自己的小问题 break
- 一位过来人给 90 后创业者的 5 个建议