android 中如何擷取camera目前狀態

來源:互聯網
上載者:User

android中,

調用網路攝影機需要判斷當前網路攝影機的狀態,沒找到對應的方法,

採用了個折中方法。

在非main線程裡調用Camera.open,catch 相應的RuntimeException,

 

 

[java]
<SPAN style="COLOR: #cc6600; FONT-SIZE: 14px">    <span style="white-space:pre">  </span>/** 
         * 測試當前網路攝影機能否被使用 
         * @return 
         */   
        public static boolean isCameraCanUse() {   
            boolean canUse = true;   
            Camera mCamera = null;   
            try {   
                // TODO camera驅動掛掉,處理??    
                mCamera = Camera.open();   
            } catch (Exception e) {   
                canUse = false;   
            }   
            if (canUse) {   
                mCamera.release();   
                mCamera = null;   
            }   
               
            return canUse;   
        }  </SPAN> 

    <span style="white-space:pre">  </span>/**
         * 測試當前網路攝影機能否被使用
         * @return
         */ 
        public static boolean isCameraCanUse() { 
            boolean canUse = true; 
            Camera mCamera = null; 
            try { 
                // TODO camera驅動掛掉,處理?? 
                mCamera = Camera.open(); 
            } catch (Exception e) { 
                canUse = false; 
            } 
            if (canUse) { 
                mCamera.release(); 
                mCamera = null; 
            } 
             
            return canUse; 
        } 

需要注意的是應該在自己程式的非UI線程中進行上面的判斷,因為進入自己的UI線程會導致當前其他程式正在拍攝視頻自動終止,
因為UI線程只能有一個在運行。

這個方法可用,但是如果網路攝影機沒有被使用,open和release會白白消耗些資源,另外camera驅動進程掛掉的情況沒有考慮

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.