安卓錄影功能的實現

2021-08-22 17:56:56 字數 2656 閱讀 9038

1、簡介

2、引數初始化

3、開始錄影

4、結束錄影

mediarecorder.setaudiosource(mediarecorder.audiosource.camcorder);

mediarecorder.setvideosource(mediarecorder.videosource.camera);

mediarecorder.setoutputfile()
mediarecorder.setoutputformat(mediarecorder.outputformat.mpeg_4);

mediarecorder.setaudioencoder(mediarecorder.audioencoder.default);

mediarecorder.setvideoencoder(mediarecorder.videoencoder.h264);

mediarecorder.setvideoencodingbitrate(700*1024);

mediarecorder.setvideosize(width,height);

mediarecorder.setvideoframerate(24);

當然在設定initialized和datasourceconfigured之前,需要將相機資源解鎖,並將其分配至mediarecorder物件中。

camera.unlock();

mediarecorder.setcamera(camera);

至此,我們完成了對於mediarecorder初始化的操作,進入第四步prepared階段。

mediarecorder.prepare();
呼叫該引數完成準備階段。呼叫以下方法,則由prepared階段進入recording階段。實現了錄影過程。

mediarecorder.start();
當我們呼叫stop()或者reset()後,則完成了本階段的錄製,重新進入準備階段。

當我們初始化階段時,呼叫relsease()進入休眠狀態,釋放相機資源。

① su***ceview的初始化

// settype必須設定,要不出錯.

su***ceview.getholder().settype(su***ceholder.su***ce_type_push_buffers);

su***ceview.setkeepscreenon(true);

callback = new su***ceholder.callback()

public void su***cechanged(su***ceholder holder, int format,

int width, int height)

@override

public void su***cedestroyed(su***ceholder holder) }};

su***ceview.getholder().addcallback(callback);

② 相機引數設定

/**

* 聚焦

*/public void focus()

③ 獲取支援的相機引數

/***

* 獲取picturesize的大小(控制在w:1000-2000之間)

*/public void getvideosize()

}// log.d(tag, "getvideosize:----w:-- " + videosize.get(i).width + "---h:--" + videosize.get(i).height);

}listphotosize = parameters.getsupportedpicturesizes();

for (int i = 0; i < photosize.size(); i++) }}

}

/**

* @param path 儲存的路徑

*/public void startrecord(string path, string name)

//指定乙個輸出檔案

mediarecorder.setoutputfile(path + file.separator + name + ".mp4");

file file1 = new file(path + file.separator + name + ".mp4");

if (file1.exists())

mediarecorder.setpreviewdisplay(su***ceview.getholder().getsu***ce());

if(backorftont==1)else if(backorftont==0)

try catch (ioexception e)

}

/**

* 停止錄製

*/public void stoprecord()

Android實現錄影功能

三 最終 四 過程回顧 五 接下來 六 finally 實現錄影功能,為神馬筆記intent 引數說明 action mediastore.action video capture 錄影的action bundle mediastore.extra output uri,儲存的位置 mediasto...

安卓專案實現閃屏的功能

方法1 在主檔案中寫入 取消標題 this.requestwindowfeature window.feature no title 取消狀態列 this.getwindow setflags windowmanager.layoutparams.flag fullscreen,windowmana...

opencv實現定時錄影功能

opencv作為一款強大的機器視覺庫,以其簡便性得到了各影象處理開發人員的青睞。現在就給大家介紹如何用opencv實現定時錄影並以實際時間作為檔名儲存。之前網上已經有一些類似的 但是大多數反映程式無法執行,主要分析有兩個原因。電腦上未安裝 編碼器,這裡推薦大家xvid,網上不好 可以私信我或是留下郵...