国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android自定義錄制視頻功能

2019-10-23 19:45:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Android錄制視頻MediaRecorder+SurfaceView的使用方法,供大家參考,具體內(nèi)容如下

先看效果圖:

Android,錄制視頻

<1>將視頻動(dòng)畫顯示到SurfaceView控件上
<2>使用MediaRecorder類進(jìn)行視頻的錄制

常用的方法:

  mediaRecorder.reset();  mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //從照相機(jī)采集視頻  mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);   mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);  mediaRecorder.setVideoFrameRate(3); //每秒3幀  mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); //設(shè)置視頻編碼方式  mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);  File videoFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".3gp");  mediaRecorder.setOutputFile(videoFile.getAbsolutePath());  mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());  mediaRecorder.prepare();//預(yù)期準(zhǔn)備  mediaRecorder.start();//開始刻錄  mediaRecorder.stop();//停止刻錄

下面看代碼:

public class MediaRecorderActivity extends AppCompatActivity {  private SurfaceView sv_mediarecorder_surface;  private MediaRecorder mediaRecorder;  private boolean isStartAndStop=false;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {      getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);      getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);    }    setContentView(R.layout.activity_mediarecorder);    //獲取SurfaceView    sv_mediarecorder_surface = (SurfaceView) findViewById(R.id.sv_mediarecorder_surface);    //實(shí)例化媒體錄制器    mediaRecorder = new MediaRecorder();  }  //視頻錄制與暫停的方法  public void startMediaCorder(View view){    Button button= (Button) view;    if (!isStartAndStop) {      if (mediaRecorder==null){        //實(shí)例化媒體錄制器        mediaRecorder = new MediaRecorder();      }      mediaRecorder.reset();      mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //從照相機(jī)采集視頻      mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//設(shè)置麥克風(fēng)      //設(shè)置保存的格式      mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);      //設(shè)置編碼格式      mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);      mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);      mediaRecorder.setVideoFrameRate(3);      //獲取根路徑      String sdPath= Environment.getExternalStorageDirectory().getAbsolutePath();      //設(shè)置保存的路徑      mediaRecorder.setOutputFile(sdPath+"/taoge"+System.currentTimeMillis()+".mp4");      //將畫面展示到SurfaceView      mediaRecorder.setPreviewDisplay(sv_mediarecorder_surface.getHolder().getSurface());      //準(zhǔn)備      try {        mediaRecorder.prepare();        mediaRecorder.start();      } catch (IOException e) {        e.printStackTrace();      }      button.setText("結(jié)束");    }else{      // 為其它應(yīng)用釋放攝像頭      mediaRecorder.release();      mediaRecorder = null;      //關(guān)閉      button.setText("開始");    }    isStartAndStop=!isStartAndStop;  }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 清原| 资溪县| 延川县| 石门县| 巴林左旗| 蓬安县| 尚义县| 绿春县| 如东县| 惠东县| 米林县| 昭觉县| 新郑市| 漯河市| 谢通门县| 交城县| 罗定市| 清远市| 南华县| 安陆市| 吉安市| 富蕴县| 凉城县| 盐亭县| 东光县| 宁武县| 迁西县| 翁牛特旗| 镶黄旗| 佛冈县| 响水县| 广饶县| 朝阳县| 区。| 古蔺县| 苍梧县| 屏山县| 噶尔县| 左贡县| 舞钢市| 姜堰市|