編輯:Android開發實例
這節課主要講述怎樣利用設備已安裝的相機應用程序來進行視頻捕捉。
假如您的應用中有一個功能是視頻整合,但是您又不想編寫太復雜的代碼來自己控制相機的視頻捕捉,幸好,大多數Android設備已至少安裝有一個相機程序,本課程就教您怎麼樣利用設備自帶的相機應用來拍攝視頻。
如果您的應用的基本功能就是拍照或拍攝視頻,需要在Android Market 中進行可見性限制,只有擁有攝像頭的設備才能浏覽和下載您的應用程序,那麼您需要在manifest 文件的< uses-feature > tag中加入權限限制。
<manifest ... > <uses-feature android:name="android.hardware.camera" /> ... </manifest ... >
如果您的應用在設備沒有相機的情況下仍能正常工作,那麼可以在該tag中加入android:required=”false”。設定以後,所有的設備不管有沒有攝像頭都可以在Android Market 上面浏覽和下載您的應用。但是,您需要自己在運行時檢測設備是否有攝像頭,調用方法hasSystemFeature(PackageManager.FEATURE_CAMERA)即可,如果相機不可用,那麼您就需要禁用應用中與拍照或拍攝視頻有關的功能模塊。
在Andriod系統中,您的應用要委托其他的應用幫忙完成一些工作,可以使用Intent,把期望完成的任務和參數列表設置到Intent中,然後通過系統廣播出去,最後當其他應用完成工作的時候,您的應用可以收到一個反饋信息,在回調函數中就可以取得任務處理結果。調用相機程序錄制視頻的過程與上面描述的類似,有三個關注點,定義拍攝視頻的 Intent,啟動其他相機應用Activity,處理拍攝後的視頻流數據。
示例代碼,啟動視頻錄制應用
private void dispatchTakeVideoIntent() { Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(takeVideoIntent, ACTION_TAKE_VIDEO); }
一個好的習慣是,在調用上面的代碼前首先檢查設備中是否有內置相機應用程序可以處理您的請求,示例代碼如下:
public static boolean isIntentAvailable(Context context, String action) { final PackageManager packageManager = context.getPackageManager(); final Intent intent = new Intent(action); List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); return list.size() > 0; }
捕獲的視頻流數據會通過回調函數onactivityresult()返回到您的應用中,您可以從 Intent中獲得該視頻數據的Uri地址,示例代碼展示了如何將捕獲到的視頻數據顯示在VideoView界面中。
private void handleCameraVideo(Intent intent) { mVideoUri = intent.getData(); mVideoView.setVideoURI(mVideoUri); }
參考文摘:
http://developer.android.com/training/camera/videobasics.html
原文:http://blog.zhourunsheng.com/2012/01/android-%e7%9b%b8%e7%89%87%e7%ae%a1%e7%90%86%e4%b8%93%e9%a2%98%e4%b9%8b%e8%a7%86%e9%a2%91%e6%8d%95%e6%8d%89/ | 潤物無聲
最近寫了一個簡單的朋友圈程序,包含了朋友圈的列表實現,視頻的錄制、預覽與上傳,圖片可選擇拍照或者從相冊選取,從相冊選取可以一次選擇多張照片,並且限制照片的張數,想擁有真正
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用
由上篇Android Permission權限機制引子,我們知道Android 通過在每台設備上實施了基於權限的安全策略來處理安全問題,采用權限來限制安裝應用程序