亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【Android Developers Training】 49. 輕松錄制

系統 2204 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條評論
主站蜘蛛池模板: 亚洲伊人久久综合影院2021 | 亚洲在线一区二区 | 无遮挡又黄又爽又色的视频免费 | 中文字幕无线码中文字幕免费 | 亚洲精品综合久久中文字幕 | 激情综合网婷婷 | 四虎永久在线观看免费网站网址 | 四虎影院国产精品 | 尤物国产在线精品福利一区 | 四虎永久网址影院 | 人人乳乳香蕉大免费 | 亚洲欧美精品一区 | 成年女人免费看一级人体片 | 99爱在线观看精品视频 | 成人a毛片高清视频 | 精品中文字幕久久久久久 | 精品动漫中文字幕一区二区三区 | 天天性综合 | 亚洲激情区 | 精品一区二区三区免费视频 | 视色视频在线观看 | 涩涩在线 | 亚洲在线h | 国产综合色香蕉精品五月婷 | 中文字幕在线观看亚洲日韩 | 在线观看欧洲成人免费视频 | a级免费网站 | 九九九久久久久久久爱 | 免费国产福利 | 欧美 日韩 国产 在线 | 国产呦精品系列在线 | a毛片免费全部在线播放毛 a毛片免费在线观看 | 精品一区二区三区在线视频 | 亚洲精品国产综合一线久久 | 国产第一色 | 亚洲日本在线播放 | 日日操操干干 | 久在线视频 | 久久国产精品老人性 | 亚洲天堂久久精品 | 一级做受毛片免费大片 |