Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 【Android】20.0 第20章 音頻、視頻、拍照、截圖,android20.0

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

編輯:關於android開發

【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 = "演示文字轉換為語音、語音轉換為文字的基本用法" },
    }
});

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved