【Android】20.0 第20章 音頻、視頻、拍照、截圖,android20.0

來源:互聯網
上載者:User

【Android】20.0 第20章 音頻、視頻、拍照、,android20.0

分類:C#、Android、VS2015;

建立日期:2016-03-11 一、簡介

Android提供了常見的多媒體檔案編碼、解碼機制,你可以直接調用Android提供的API,實現相簿、播放器、錄音、攝像等功能。換言之,你可以通過Activity和Intent,直接存取各種多媒體檔案或流資料(本地媒體檔案、外部隱藏檔、資源檔、URL指定的音頻視頻網路流)。

本章要點:

l 音頻和視頻播放:MediaPlayer類。

l 播放視頻播放:MediaPlayer類、MediaController類和VideoView控制項。

l 錄製音頻和視頻:MediaRecorder類。

這一章主要介紹音頻、視頻、拍照、、語音轉換為文字、文字轉換為語音等相關的基礎知識。 二、Resources/raw檔案夾與Assets檔案夾的區別

由於這一章播放的檔案都儲存在這兩個檔案夾下,所以先把這兩者之間的區別說一下。

1、相同點

這兩個檔案夾下的檔案打包後都會以獨立檔案的形式儲存在apk安裝包中,原來的檔案是什麼格式還是什麼格式,都不會被編譯到可執行檔二進位檔案中。

2、不同點

(1)Resources/raw檔案夾下不能再包含子檔案夾,而Assets檔案夾下還可以再繼續建立子檔案夾。

(2)Resources/raw檔案夾下的檔案會被映射到Resource.Designer.cs檔案中,因此項目中可直接使用檔案的資源ID訪問它(即Resource.Id.不帶副檔名的檔案名稱),該檔案夾的作用相當於WPF項目中“連結的資源”檔案類型;Assets檔案夾下的檔案則不會被映射到Resource.Designer.cs檔案中,只能通過AssetManager類來訪問它,該檔案夾的作用相當於WPF項目中的“內容”檔案類型。

3、讀取資料流

假如儲存到這兩個檔案夾下的檔案名稱都是abc.mp3,則

讀取Resources/raw下檔案流的方式如下(資源id就是不帶副檔名的檔案名稱):

System.IO.Stream stream = Resources.OpenRawResource(Resource.Id.abc);

讀取Assets下的檔案流的方式如下(用帶路徑和副檔名的檔案名稱指定,如果沒有子檔案夾,可直接寫檔案名稱):

System.IO.Stream stream = Resources.Assets.Open("abc.mp3");

4、用VideoView播放視頻

假如儲存到這兩個檔案夾下的檔案名稱都是abc.mp4,而且用最常用的VideoView來播放該視頻,下面的辦法示範了如何指定要播放的檔案。

播放Resources/raw下的該檔案:

VideoView.SetVideoUri(Uri.Parse("android.resource://" + PackageName + "/" + Resorce.Raw.abc));

播放Assets下的該檔案:

VideoView.SetVideoUri(Uri.Parse( PackageName + "/Assets/abc.mp4")); 三、本章樣本主介面

1、運行

2、ch.cs檔案中與本章樣本相關的代碼

chItems.Add(new Chapter(){    ChapterName = "第20章 音頻、視頻、拍照、",    ChapterItems = new ChItem[]    {        new ChItem { type=typeof(ch2001MainActivity), Title="例20-1 音頻播放基本用法", Desc = "示範音頻播放的基本用法" },        new ChItem { type=typeof(ch2002MainActivity), Title="例20-2 視頻播放基本用法", Desc = "示範視頻播放的基本用法" },        new ChItem { type=typeof(ch2003MainActivity), Title="例20-3 相機拍照基本用法", Desc = "示範相機拍照的基本用法" },        new ChItem { type=typeof(ch2004MainActivity), Title="例20-4 螢幕基本用法", Desc = "示範螢幕的基本用法" },        new ChItem { type=typeof(ch2005MainActivity), Title="例20-5 音視頻錄製", Desc = "示範音頻、視頻錄製的基本用法" },        new ChItem { type=typeof(ch2006MainActivity), Title="例20-6 文字語音轉換", Desc = "示範文字轉換為語音、語音轉換為文字的基本用法" },    }});

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.