[Android] 如何製作手電筒程式

來源:互聯網
上載者:User

繼iphone的手電筒開發完成後,接下來我便著手開始Android如何製作手電筒的程式

我的跨平台引擎架構CloudBox已建立好iphone版的程式,但卻對於Android上如何操控閃光燈一無所知

因此我做了個小範例示範如何用Android來控制閃光燈

此代碼在Samsung Galaxy S2測試可運作

public class CloudLed {boolean m_isOn;Camera m_Camera;public boolean getIsOn() { return m_isOn; }public CloudLed(){m_isOn = false;}public void turnOn(){if(!m_isOn){m_isOn = true;try{m_Camera = Camera.open();Camera.Parameters mParameters;mParameters = m_Camera.getParameters();mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);m_Camera.setParameters(mParameters);}catch(Exception ex){}}}public void turnOff(){if(m_isOn){m_isOn = false;try{Camera.Parameters mParameters;mParameters = m_Camera.getParameters();mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);m_Camera.setParameters(mParameters);m_Camera.release();}catch(Exception ex){}}}}

我建立了一個CloudLed類,將Camera再做一次封裝,只處理閃光燈相關部份的代碼

在Android中,要開啟網路攝影機只需透過Camera.Open就可以簡單開啟,開啟後取得Camera.Parameters就可以設定參數

我們所需要的手電筒功能,只需要將其設為FLASH_MODE_TROCH即可

關閉時只要設定為FLASH_MODE_OFF後將其release就可以了

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.clouddevelop.ledtest"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="8" />    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".LEDTestActivity"                  android:label="@string/app_name"                  android:screenOrientation="portrait">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-permission android:name="android.permission.CAMERA"></uses-permission></manifest>

在這邊有個事項要注意,我們需在AndroidManifest.xml中設定存取網路攝影機的許可權。

<uses-permission android:name="android.permission.CAMERA"></uses-permission>

完整範例下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.