黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

【Android Developers Training】 49. 輕松錄制

系統 2331 0

注:本文翻譯自Google官方的Android Developers Training文檔,譯者技術一般,由于喜愛安卓而產生了翻譯的念頭,純屬個人興趣愛好。

原文鏈接: http://developer.android.com/training/camera/videobasics.html


這節課將展示如何利用現有的相機應用來錄制視頻。

假設你的應用有一個巨大的任務,而集成視頻是它的一部分。你希望盡可能簡單地錄制視頻,并且不要因此而重新構建一個攝像的程序。幸好,Android設備上已經有了一個可以錄制視頻的相機應用,在這節課中,你將會讓它來為你的應用服務。


一). 請求相機權限?

要聲明你的應用需要依賴攝像頭,在清單文件中加入 <uses-feature> 標簽:

      
        <
      
      
        manifest 
      
      
        ... 
      
      
        >
      
      
        <
      
      
        uses-feature 
      
      
        android:name
      
      
        ="android.hardware.camera"
      
      
        

                  android:required
      
      
        ="true"
      
      
        />
      
      
        

    ...


      
      
        </
      
      
        manifest
      
      
        >
      
    

如果你的應用使用,但并不依賴一個相機來執行功能,那么將“ android:required ”設置為“ false ”。這樣的話,那么Google Play將會允許沒有相機的設備下載你的應用。那么接下來就是你的責任負責相機是否可用了,在運行時如果調用了需要用相機的函數時,通過調用 hasSystemFeature(PackageManager.FEATURE_CAMERA) 檢查是否可以獲取相機。如果相機無法獲取,那么你就應該禁止你的相關功能特性。


二). 通過一個相機應用錄制視頻

在Android中向其它應用分發意圖是通過激活一個描述你的意圖的 Intent 。這一過程分為三步: Intent 自身,調用外部 Activity ,當焦點回到你的activity中處理視頻數據的一些代碼。

下面的例子是激活一個intent來錄制視頻:

      
        static
      
      
        final
      
      
        int
      
       REQUEST_VIDEO_CAPTURE = 1
      
        ;




      
      
        private
      
      
        void
      
      
         dispatchTakeVideoIntent() {

    Intent takeVideoIntent 
      
      = 
      
        new
      
      
         Intent(MediaStore.ACTION_VIDEO_CAPTURE);

    
      
      
        if
      
       (takeVideoIntent.resolveActivity(getPackageManager()) != 
      
        null
      
      
        ) {

        startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);

    }

}
      
    

注意這里 startActivityForResult() 方法被一個前提所保護,那就是通過調用 resolveActivity() ,返回第一個可以處理該intent的組件。執行這個檢查時很重要的因為如果你調用了 startActivityForResult() 并使用一個沒有一個應用可以處理的intent,你的應用將會崩潰。所以只要結果不是null,那么使用這個intent是安全的。


三). 查看視頻

Android相機應用會在 onActivityResult() 方法中將視頻以一個指向視頻存儲位置的 Uri 的形式,放置在 Intent 中,并將其返回。下面的代碼即獲取這個視頻并且在 VideoView 中顯示它:

      
        @Override


      
      
        protected
      
      
        void
      
       onActivityResult(
      
        int
      
       requestCode, 
      
        int
      
      
         resultCode, Intent data) {

    
      
      
        if
      
       (requestCode == REQUEST_VIDEO_CAPTURE && resultCode ==
      
         RESULT_OK) {

        Uri videoUri 
      
      =
      
         intent.getData();

        mVideoView.setVideoURI(videoUri);

    }

}
      
    

【Android Developers Training】 49. 輕松錄制視頻


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論