初始化MediaRecorder
来源:互联网 发布:夏普desk扫描软件 编辑:程序博客网 时间:2024/05/21 00:47
- private boolean initializeVideo() {
- Log.v(TAG, "initializeVideo");
- if (mSurfaceHolder == null) {
- Log.v(TAG, "SurfaceHolder is null");
- return false;
- }
- mMediaRecorderRecording = true;
- if (mMediaRecorder == null)
- mMediaRecorder = new MediaRecorder();
- else
- mMediaRecorder.reset();
- if (mCamera != null) {
- if (Integer.parseInt(Build.VERSION.SDK) >= 8)
- VideoCameraNew2.reconnect(mCamera);
- mCamera.release();
- mCamera = null;
- }
- if (useFront && Integer.parseInt(Build.VERSION.SDK) >= 5) {
- if (isAvailableSprintFFC)
- {
- try
- {
- Method method = Class.forName("android.hardware.HtcFrontFacingCamera").getDeclaredMethod("getCamera", null);
- mCamera = (Camera) method.invoke(null, null);
- }
- catch (Exception ex)
- {
- Log.d(TAG, ex.toString());
- }
- } else {
- mCamera = Camera.open();
- Camera.Parameters parameters = mCamera.getParameters();
- parameters.set("camera-id", 2);
- mCamera.setParameters(parameters);
- }
- VideoCameraNew.unlock(mCamera);
- mMediaRecorder.setCamera(mCamera);
- mVideoPreview.setOnClickListener(this);
- }
- mVideoPreview.setOnLongClickListener(this);
- mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
- mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
- mMediaRecorder.setOutputFile(sender.getFileDescriptor());
- mMediaRecorder.setVideoFrameRate(20);
- if (videoQualityHigh) {
- mMediaRecorder.setVideoSize(352,288);
- } else {
- mMediaRecorder.setVideoSize(176,144);
- }
- mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
- mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
- try {
- mMediaRecorder.prepare();
- mMediaRecorder.setOnErrorListener(this);
- mMediaRecorder.start();
- } catch (IOException exception) {
- releaseMediaRecorder();
- finish();
- return false;
- }
- return true;
- }
private boolean initializeVideo() { Log.v(TAG, "initializeVideo"); if (mSurfaceHolder == null) { Log.v(TAG, "SurfaceHolder is null"); return false; } mMediaRecorderRecording = true; if (mMediaRecorder == null) mMediaRecorder = new MediaRecorder(); else mMediaRecorder.reset(); if (mCamera != null) { if (Integer.parseInt(Build.VERSION.SDK) >= 8) VideoCameraNew2.reconnect(mCamera); mCamera.release(); mCamera = null; } if (useFront && Integer.parseInt(Build.VERSION.SDK) >= 5) { if (isAvailableSprintFFC) { try { Method method = Class.forName("android.hardware.HtcFrontFacingCamera").getDeclaredMethod("getCamera", null); mCamera = (Camera) method.invoke(null, null); } catch (Exception ex) { Log.d(TAG, ex.toString()); } } else { mCamera = Camera.open(); Camera.Parameters parameters = mCamera.getParameters(); parameters.set("camera-id", 2); mCamera.setParameters(parameters); } VideoCameraNew.unlock(mCamera); mMediaRecorder.setCamera(mCamera); mVideoPreview.setOnClickListener(this); } mVideoPreview.setOnLongClickListener(this); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mMediaRecorder.setOutputFile(sender.getFileDescriptor()); mMediaRecorder.setVideoFrameRate(20); if (videoQualityHigh) { mMediaRecorder.setVideoSize(352,288); } else { mMediaRecorder.setVideoSize(176,144); } mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface()); try { mMediaRecorder.prepare(); mMediaRecorder.setOnErrorListener(this); mMediaRecorder.start(); } catch (IOException exception) { releaseMediaRecorder(); finish(); return false; } return true; }
- private void releaseMediaRecorder() {
- Log.v(TAG, "Releasing media recorder.");
- if (mMediaRecorder != null) {
- mMediaRecorder.reset();
- if (mCamera != null) {
- if (Integer.parseInt(Build.VERSION.SDK) >= 8)
- VideoCameraNew2.reconnect(mCamera);
- mCamera.release();
- mCamera = null;
- }
- mMediaRecorder.release();
- mMediaRecorder = null;
- }
- }
- public void onError(MediaRecorder mr, int what, int extra) {
- if (what == MediaRecorder.MEDIA_RECORDER_ERROR_UNKNOWN) {
- finish();
- }
- }
private void releaseMediaRecorder() { Log.v(TAG, "Releasing media recorder."); if (mMediaRecorder != null) { mMediaRecorder.reset(); if (mCamera != null) { if (Integer.parseInt(Build.VERSION.SDK) >= 8) VideoCameraNew2.reconnect(mCamera); mCamera.release(); mCamera = null; } mMediaRecorder.release(); mMediaRecorder = null; } } public void onError(MediaRecorder mr, int what, int extra) { if (what == MediaRecorder.MEDIA_RECORDER_ERROR_UNKNOWN) { finish(); } }
- private void stopVideoRecording() {
- Log.v(TAG, "stopVideoRecording");
- if (mMediaRecorderRecording || mMediaRecorder != null) {
- Receiver.listener_video = null;
- t.interrupt();
- RtpStreamSender.delay = 0;
- if (mMediaRecorderRecording && mMediaRecorder != null) {
- try {
- mMediaRecorder.setOnErrorListener(null);
- mMediaRecorder.setOnInfoListener(null);
- mMediaRecorder.stop();
- } catch (RuntimeException e) {
- Log.e(TAG, "stop fail: " + e.getMessage());
- }
- mMediaRecorderRecording = false;
- }
- releaseMediaRecorder();
- }
- }
- 初始化MediaRecorder
- 初始化MediaRecorder
- 初始化MediaRecorder
- MediaRecorder
- MediaRecorder
- MediaRecorder
- MediaRecorder
- MediaPlayer在初始化时候设置MIC抛出异常 at android.media.MediaRecorder.setAudioSource(Native Method)
- MediaRecorder 学习
- android---MediaRecorder
- MediaRecorder类
- mediarecorder分辨率
- Android MediaRecorder
- Android MediaRecorder
- MediaRecorder test
- MediaRecorder录音
- Mediarecorder录音
- MediaRecorder录音
- c#实现用SQL池(多线程),定时批量执行SQL语句
- 把android模拟器放到d盘
- SOA需以用户需求为中心
- 解决iPhone网络软件在睡眠情况断线问题
- C++虚函数表解析(转)
- 初始化MediaRecorder
- 2010团购网站交易额排名
- C#与javascript函数之间的相互调用
- C#控件前缀名大全
- 爬虫工具Heritrix初体验
- GridView初级自定义应用 增删改查
- C#基础:值类型、引用类型与ref关键字
- [Android] Android frame by frame animation动画显示
- 电脑速度提高3倍!!百毒不侵!! 强悍!!