Android應(yīng)用中拍照和錄制視頻都需要Surface,所以需要?jiǎng)?chuàng)建在Activiy中存在SurfaceView或者VideoView,可以在xml中配置,在代碼中加載。同時(shí)主Activity中需要implements SurfaceHolder.Callback,實(shí)現(xiàn)其中的surfaceCreate, surfaceChanged, surfaceDestoryed三個(gè)方法。具體流程如下
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比哈爾濱網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式哈爾濱網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋哈爾濱地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。First:
SurfaceView mSurfaceView = (SurfaceView)findViewById(R.id.surfaceview);
SurfaceHolder mHolder = mSurfaceView.getHolder();
mHolder.addCallback(this);
當(dāng)調(diào)用addCallback的時(shí)候,就會(huì)觸發(fā)SurfaceHolder.Callback回調(diào),執(zhí)行surfaceCreate方法,可以在surfaceCreate中做一些初始化。
Second:
打開(kāi)攝像頭,進(jìn)行初始化。如:
Camera mCamera = Camera.open();
mCamera.setPreviewDisplay(mHolder);
當(dāng)surfaceview被覆蓋或者應(yīng)用結(jié)束退出時(shí),surface會(huì)destory,執(zhí)行surfaceDestoryed回調(diào),可以在該回調(diào)中釋放Camera,如:
mCamera.stopPrevew();
mCamera.release();
mCamera = null;
Thrid:
進(jìn)行拍照時(shí),調(diào)用takePicture接口,傳入callback參數(shù),并在最后一個(gè)callback中獲取byte[] data,并將數(shù)據(jù)以jpg文件格式保存,如下所示:
mCamera.takePicture(new ShutterCallback(){}, new PictureCallback(){},new PictureCallback(){}, new PictureCallback(){public void onPictureTaken(byte[] data, Camera camera) {save(data)} });
在save方法中通過(guò)流輸出到指定路徑:
File mediaStoragePath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "PicFiles");
String fileName = mediaStoragePath.getPath() + File.sperator + "PIC_" + System.currentTimeMills() + ".jpg";
File pictureFile = new File(fileName);
FileOutputStream fos = new FileOutputStream(picture);
fos.write(data);
fos.close();
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。