1. 程式人生 > >這是安卓手機開啟攝像頭的一個小程式

這是安卓手機開啟攝像頭的一個小程式

importandroid.app.Activity;

import android.app.AlertDialog;

importandroid.os.Bundle;

importandroid.util.Log;

import android.view.Menu;

import android.view.MenuItem;

importandroid.widget.Button;

import android.view.View.OnClickListener;

importandroid.view.View;

import android.content.DialogInterface;

importandroid.content.Intent;

importandroid.graphics.Bitmap;

import android.graphics.Canvas;

importandroid.hardware.Camera;

import android.view.SurfaceView;

importandroid.view.SurfaceHolder;

import android.hardware.Camera;

//importandroid.hardware.Camera.PreviewCallback;

public class first extends

Activity{

    Button button3;

    private staticSurfaceView preview=null;

 private staticVideoCapture        mCamera;

    OnClickListener listener2=null;

    private staticSurfaceHolder previewHolder=null;

     Bitmap bmp = null;

     private static Camera camera = null;

    @Override

    protected

voidonCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);

    setContentView(R.layout.newfile);

    preview=(SurfaceView)findViewById(R.id.preview);

    previewHolder=preview.getHolder();

    previewHolder.addCallback(surfaceCallback);

    //previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

    listener2=newOnClickListener()

    {

    public voidonClick(View v)

    {

    Intent intent1=newIntent(first.this,MainActivity.class);

    startActivity(intent1);

    }

    };

     button3=(Button)findViewById(R.id.button2);

    button3.setOnClickListener(listener2); 

}

     private staticSurfaceHolder.Callback surfaceCallback = newSurfaceHolder.Callback() {

           /**

            * {@inheritDoc}

            */

           @Override

           public voidsurfaceCreated(SurfaceHolder holder) {

            try {   camera = Camera.open();

                    camera.setPreviewDisplay(previewHolder);

                //  camera.setPreviewCallback(previewCallback);

                } catch(Throwable t) {

                    Log.e("PreviewDemo-surfaceCallback","Exceptionin setPreviewDisplay()", t);

                }

           }

           @Override

           public voidsurfaceChanged(SurfaceHolder holder, int format, int width, int height) {

         Camera.Parameters parameters = camera.getParameters(); 

                     parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); 

                         Camera.Size size = getSmallestPreviewSize(width, height, parameters); 

                      if (size != null) { 

                           parameters.setPreviewSize(size.width, size.height); 

                             //              Log.d(TAG, "Usingwidth=" + size.width + " height=" + size.height); 

                       } 

                       camera.setParameters(parameters); 

                      camera.startPreview(); 

           }

           @Override

           public voidsurfaceDestroyed(SurfaceHolder holder) {

               // Ignore

           }

        };

        private staticCamera.Size getSmallestPreviewSize(int width, int height

                        Camera.Parameters parameters) { 

                Camera.Size result = null

                for(Camera.Size size : parameters.getSupportedPreviewSizes()){ 

                         if (size.width <= width&& size.height <= height) { 

                            if (result == null) { 

                                result = size

                            } else

                                 int resultArea = result.width * result.height

                                int newArea = size.width * size.height

                            if (newArea < resultArea

                                    result = size

                            } 

                         } 

                     } 

                    return result

                } 

        public voidonResume() {

            super.onResume();

        //  wakeLock.acquire();

            //camera =Camera.open();

        //  startTime = System.currentTimeMillis();

        }

相關推薦

手機開啟攝像頭一個程式

importandroid.app.Activity; import android.app.AlertDialog; importandroid.os.Bundle; importandroid.util.Log; import android.view.Menu; i

手機錄製螢幕視訊妙招

  生活中會有很多小妙招,那麼今天小編要介紹的是關於安卓手機錄製螢幕視訊的小妙招,你們是不是有時候在錄製完一段小視訊的時候就想要分享朋友圈,而有些軟體卻不支援,還想錄制一小片段的時候,還是不支援,那麼針對你們的種種問題,今天的這個小妙招足夠為你們排憂解難。   錄屏大師http://www.xunjiesh

微信網頁開發wx.getLocation在手機上的一個

    我在wx.getLocation的成功回撥函式裡,執行了一句 this.lon = res.longitude.toFixed(6)     在蘋果手機和除錯工具上都是能獲取到資料的,但是在安卓手機上this.lon沒有獲取到資料,排查之後,發

微信程式開發——開啟一個程式

微信小程式開啟另一個小程式,有兩種方法:1.超連結;2.點選按鈕。 全域性配置: 跳轉到其他小程式,需要在當前小程式全域性配置中配置需要跳轉的小程式列表,程式碼如下: App.json { ... "navigateToMiniProgramAppIdList": [ "w

WIFI通訊之聊天程式

安卓  WIFI通訊之聊天小程式 一、簡述       記--使用WIFI實現的一個簡單一對一聊天小程式。一臺裝置開啟WIFI熱點,另外一臺裝置進行連線,然後互相收發資訊。      例子打包:連結: https://pan.baidu.com/s/1uOGxQJPmf

4款眾實用的手機APP,全是手機的黑科技軟件!

eight 分享 常用 mage 實用 str p值 title -c 我們經常會在手機上安裝一些APP,有一些APP我們下載了卻發現沒有那麽好用,然後再去卸載它,可見找到滿意好用的APP還是不那麽容易的。那麽除了常用的微信、支付寶、淘寶、QQ等,還有哪些APP值得我們去下

微信程式在掃一掃進入程式的時候 手機後臺繼續執行的常規處理

一般在掃一掃進入小程式是沒什麼問題的 關於這個話題就不多說 怎麼去配置後臺 我的部落格裡面有提到 有興趣的可以去看看 現在是使用者第一次掃碼進入之後 退出小程式 在外部掃一掃進入小程式指定介面的時候 安卓手機就出現了一個問題 它會閃爍一下 返回的首頁去 而不是我們想要的 因為安卓手機有一個常規的操作 就是微信

發現了一個很好用的電腦上用電腦控制手機的軟體

發現了一個很好用的電腦上用電腦控制安卓手機的軟體scrcpy, 還是開源的 地址: https://github.com/Genymobile/scrcpy windows,mac os,linux都支援。 基本上沒有延遲,電腦螢幕顯示安卓螢幕上的內容,而且還能在電腦上操作安卓手機。支援各種實體按

微信程式手機訪問不到圖片,無法顯示圖片

關於微信小程式不顯示圖片 通病可能有以下幾個可能性: 非本地圖片:確定圖片資源存在,copy 圖片url再瀏覽器開啟,確定圖片資源存在且能正常訪問 本地圖片:確定相對路徑或者絕對路徑正確 微信小程式圖片路徑,不可以存在中文,使用英文做路徑和檔名 檔案字尾文,小寫。且保證正確 網路圖片,必須確保域名已經備案

網頁無法使用微信瀏覽器開啟手機:該證書並非來自可信賴的授權中心)

生成二維碼的時候發現網頁無法在微信瀏覽器裡開啟,檢查了二維碼對應的URL連結沒有錯誤,在CHROME裡也能開啟,用安卓自帶的手機瀏覽器開啟時,提示:該證書並非來自可信賴的授權中心。 使用這個SSL檢查站檢查,發現前四項正常,第五項報錯:A valid Root CA Certificate

手機微信瀏覽器中長按提示“在瀏覽器開啟”解決方法

安卓手機在微信網頁內長按時,如同滑鼠右擊事件,會觸發微信瀏覽器的預設事件,彈出“在瀏覽器開啟”的提示語只需在長按事件觸發時,取消滑鼠右鍵事件的預設動作即可document.oncontextmenu = function

開啟手機相簿和相機並裁剪圖片上傳到unity

1、建立一個空的安卓工程 2、在unity安裝目錄下找到classes.jar檔案並匯入到工程中的libs資料夾下(classes.jar目錄為:unity安裝目錄\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Devel

程式 - wx.pageScrollTo手機上滾動異常

官方文件 wx.pageScrollTo(Object object) 該效果在微信開發者工具的模擬器,蘋果手機上都正常滾動;但是在安卓手機上看不到正常的滾動效果,我見到過的bug有 從當前位置,滾動到最頂部,再滾動到指定位置 滾動到指定距離的偏差大 如果

兩步實現手機秒變網路攝像頭

如GIF所示,自動接起QQ電話。 QQ視訊來電自動接起來,微信視訊電自動接起來。 首先你需要兩個硬體裝置 1.一步Root了的,並且安裝手機QQ的安卓手機。 2.如果像文件一點你可能需要一個手機支架。 兩步邏輯很簡單: 1.通過Broadca

解決手機上傳圖片沒有拍照選項,修改後又出現的手機能載入相簿和攝像頭但蘋果手機不能載入相簿的問題

<input type="file" id="choose" accept="image/*" multiple> 上面是原始碼,下面修改後可以讓安卓手機顯示攝像頭 <inp

程式開發之坑二--手機wx.hideLoading()無效

無效程式碼 首先 在onLoad()中wx.showLoading({ title: “資料載入中”, mask: true }); 非同步獲取資料後 wx.hideLoading();

微信中手機點選連結強制跳轉預設瀏覽器開啟指定網頁

本文章向大家介紹微信點選網頁連結或者掃一掃二維碼強制跳轉到手機系統瀏覽器開啟指定頁面,主要包括微信點選網頁連結或者掃一掃二維碼強制跳轉到手機系統瀏覽器開啟指定頁面使用例項、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。   現在微信分享的

知識--手機撥號編碼

“*#06#” 手機的串號,即 IMEI 碼。它是 International Mobile Equipment Identity( 國際移動裝置身份 ) 的簡稱,就像是手機的身份證,是用來幫助辨別手機身份真偽的。每個手機都只有唯一一個串號,不會雷同。我們一般是將手機上按

ffmpeg超詳細綜合教程(三)——手機攝像頭編碼

本文的示例將實現:讀取安卓手機攝像頭資料並使用H.264編碼格式實時編碼儲存為flv檔案。示例包含了 1、編譯適用於安卓平臺的ffmpeg庫 2、在java中通過JNI使用ffmpeg 3、讀取安卓攝像頭資料並在後臺執行緒中使用ffmpeg進行編碼的

input[type='file']手機微信端無法呼叫攝像頭問題

使用input type=file標籤進行檔案上傳時,在安卓手機中的微信瀏覽器中不能調起相機,但是在蘋果手機中的微信瀏覽器中可以呼叫相機。解決辦法: <input type="file"