SurfaceView
SurfaceView介面元件可以想成是一塊畫布,程式開發者可以在上面畫上任何東西。在這個程式中SurfaceView是用來顯示從相機取得的畫面。SurfaceView的存取要透過SurfaceHolder物件,而SurfaceHolde類別的addCallback方法能讓我們設定當SurfaceView建立、改變與銷毀時該做的事,因此我們可於SurfaceView建立時打開相機、啟動預覽功能,而於銷毀時關掉相機。下列圖示可以幫助了解,故在layout就要加入SurfaceView這個元件使用
加入permission ~ 在應用程式使用相機功能
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
加入程式碼~
public class TestCamera extends Activity implements SurfaceHolder.Callback
{
@Override
public void surfaceChanged (SurfaceHolder surfaceholder, int format, int w, int h)
{ set parameters, start preview; }
@Override
public void surfaceCreated (SurfaceHolder surfaceholder)
{ initialize camera; }
@Override
public void surfaceDestroyed (SurfaceHolder surfaceholder)
{ release camera; }
}
實作程式碼如下:
實作後就可以在手機上看到相機live show畫面於手機螢幕上,開發者就可以加入一些功能
沒有留言:
張貼留言
請留言~一起討論吧~