正文

擴(kuò)展定制的Camera應(yīng)用程序(8)

Android多媒體開發(fā)高級編程 作者:(美)艾佛瑞


我們都已看過時間推移攝影的完美范例。它是在一段時間內(nèi)拍攝多張照片的過程。它可能是每分鐘、每小時甚至每周拍攝一張照片。通過查看一系列時間推移的照片,可以了解事物如何隨時間而變化。一個可能的示例是觀察一幢建筑物如何建造,另一個可能的示例是記錄一朵花如何成長和盛開。

由于已經(jīng)構(gòu)建了一個基于定時器的Camera應(yīng)用程序,因此將它更新成一個時間推移應(yīng)用程序非常簡單。

首先需要改變一些實例變量并加入一個常量。

...

public class TimelapseSnapShot extends Activity implements OnClickListener,

 SurfaceHolder.Callback, Camera.PictureCallback {

     SurfaceView cameraView;

     SurfaceHolder surfaceHolder;

     Camera camera;

需要將Button重命名為startStopButton,因為它現(xiàn)在將處理兩個動作,同時將對其余的變量名執(zhí)行幾個細(xì)小的更新。

     Button startStopButton;

     TextView countdownTextView;

     Handler timerUpdateHandler;

     boolean timelapseRunning = false;

與前述的示例一樣,currentTime整數(shù)將用于累加兩次照相之間的時間量,而不是從總延遲遞減。將一個稱為SECONDS_BETWEEN_PHOTOS的常量設(shè)置為60。正如其名稱所暗示的那樣,該常量將用于設(shè)定拍攝照片之間等待的時間。

     int currentTime = 0;

     public static final int SECONDS_BETWEEN_PHOTOS = 60;   // 1分鐘

onCreate方法大體上保持相同——只是將引用新的變量名稱。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號