Android自定义录制视频
生活随笔
收集整理的這篇文章主要介紹了
Android自定义录制视频
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Android錄制視頻MediaRecorder+SurfaceView
先看效果圖:
下面看代碼:
public class MediaRecorderActivity extends AppCompatActivity {private SurfaceView sv_mediarecorder_surface;private MediaRecorder mediaRecorder;private boolean isStartAndStop=false;@Overrideprotected 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);//獲取SurfaceViewsv_mediarecorder_surface = (SurfaceView) findViewById(R.id.sv_mediarecorder_surface);//實例化媒體錄制器mediaRecorder = new MediaRecorder();}//視頻錄制與暫停的方法public void startMediaCorder(View view){Button button= (Button) view;if (!isStartAndStop) {if (mediaRecorder==null){//實例化媒體錄制器mediaRecorder = new MediaRecorder();}mediaRecorder.reset();mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //從照相機采集視頻mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//設置麥克風//設置保存的格式mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);//設置編碼格式mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);mediaRecorder.setVideoFrameRate(3);//獲取根路徑String sdPath= Environment.getExternalStorageDirectory().getAbsolutePath();//設置保存的路徑mediaRecorder.setOutputFile(sdPath+"/taoge"+System.currentTimeMillis()+".mp4");//將畫面展示到SurfaceViewmediaRecorder.setPreviewDisplay(sv_mediarecorder_surface.getHolder().getSurface());//準備try {mediaRecorder.prepare();mediaRecorder.start();} catch (IOException e) {e.printStackTrace();}button.setText("結束");}else{// 為其它應用釋放攝像頭mediaRecorder.release();mediaRecorder = null;//關閉button.setText("開始");}isStartAndStop=!isStartAndStop;}}總結
以上是生活随笔為你收集整理的Android自定义录制视频的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 战地5未能达到服务器带宽,《战地5》游戏
- 下一篇: 2010年计算语言学分词作业——采用二元