大佬教程收集整理的这篇文章主要介绍了在Android中录制,保存和播放视频,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的活动:
public class Camcorder extends Activity { private CamcorderView camcorderView; private Boolean recording = false; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); //irrelevant code camcorderView = (CamcorderView) findViewById(R.id.camcorder_preview); } @Override public Boolean onKeyDown(int keyCode,KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { if (recording) { camcorderView.stopRecording(); finish(); } else { recording = true; camcorderView.startRecording(); } return true; } return super.onKeyDown(keyCode,event); } }
CamcorderView类:
public class CamcorderView extends SurfaceView implements SurfaceHolder.CallBACk { MediaRecorder recorder; SurfaceHolder holder; String outputFile = "/sdcard/default.mp4"; public CamcorderView(Context context,AttributeSet attrs) { super(context,attrs); holder = getHolder(); holder.addCallBACk(this); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); recorder = new MediaRecorder(); recorder.setAudiosource(MediaRecorder.Audiosource.MIC); recorder.setVideosource(MediaRecorder.Videosource.DEFAULT); recorder.setOutputFormat(MediaRecorder.outputFormat.MPEG_4); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_Sp); // recorder.setVideoSize(480,320); // recorder.setVideoFrameRate(15); // recorder.setMaxDuration(10000); } public void surfaceCreated(SurfaceHolder holder) { recorder.setOutputFile(outputFilE); recorder.setPreviewDisplay(holder.getSurface()); if (recorder != null) { try { recorder.prepare(); } catch (IllegalStateException E) { Log.e("IllegalStateException",e.toString()); } catch (IOException E) { Log.e("IOException",e.toString()); } } } public void surfaceChanged(SurfaceHolder holder,int format,int width,int height) { } public void surfaceDestroyed(SurfaceHolder holder) { } public void setOutputFile(String fileName) { outputFile = filename; recorder.setOutputFile(fileName); } public void startRecording() { recorder.start(); } public void stopRecording() { recorder.stop(); recorder.release(); } }
以上是大佬教程为你收集整理的在Android中录制,保存和播放视频全部内容,希望文章能够帮你解决在Android中录制,保存和播放视频所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。