在Android中录制,保存和播放视频

在Android中录制,保存和播放视频,第1张

概述我正在尝试制作一个使用相机应用程序录制视频的应用程序,然后将该视频保存在SD卡上,以便我可以播放它.我有一些代码,但我已经迷失了如何继续,因为我是 Android的初学者. 我的活动: public class Camcorder extends Activity { private CamcorderView camcorderView; private boolean 我正在尝试制作一个使用相机应用程序录制视频的应用程序,然后将该视频保存在SD卡上,以便我可以播放它.我有一些代码,但我已经迷失了如何继续,因为我是 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();}}
解决方法 嘿,我想你没试过这个.所以请检查此链接,如果您有任何问题,请告诉我
video recording example 总结

以上是内存溢出为你收集整理的在Android中录制,保存和播放视频全部内容,希望文章能够帮你解决在Android中录制,保存和播放视频所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存