Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

在安卓应用中播放视频

by
Difficulty:IntermediateLength:LongLanguages:

Chinese (Traditional) (中文(繁體)) translation by Fuhuan (you can also view the original English article)

安卓應用中可以置入視頻播放功能。  在本教程中,我們將教會妳使用組件和對象,讓妳的用戶來控制視頻的播放狀態。

我們還將簡要介紹使用MEDIAPLAYER的過程。 如果妳已經完成了制作音樂播放APP的教程,妳可以進壹步的深入學習它。  如果妳已經完成了幾個APP的開發,那妳應該可以完成它。

1.制作壹個新的APP

步驟1

妳可以使用本教程中的代碼來增強妳現有APP的功能,或者另外制作壹個新的APP。  新建壹個APP項目,給它命名,然後配置它。

步驟2

我們首先要配置流媒體清單。 打開項目的清單文件,並切換到IDE中的XML編輯。  對於流媒體,妳需要互聯網訪問,因此在MANIFEST元素中添加以下權限:

2.添加VIDEOVIEW

步驟1

安卓平臺提供了VIDEOVIEW分類,妳可以調用它來播放視頻文件。  我們在主要的布局文件中添加壹個代碼:

如果有必要的話,更改它來適應妳的APP。 我們給VIDEOVIEW賦予壹個ID屬性,以便我們稍後再參考壹下。 您可能需要调整自己设计的其他布局代码。

步驟2

現在我們來回顧壹下VIDEOVIEW代碼的實例引用。  您可能需要调整自己设计的其他布局代码。打開妳的APP,ACTIVITY,並導入下列代碼:

妳的ACTIVITY課程裏應該有包含ONCREATE設置界面的方法:

當上線後SETCONTENTVIEW,我們的VIDEOVIEW將套用ID的屬性以及在XML布局中設置的方式,獲得對實例的引用:

3.流視頻文件

步驟1

現在,我們可以將視頻文件流式傳輸到APP。 準備端點的URI如下:

當然,妳需要使用遠程地址。  這只是壹個示範。  我們需要將地址解析為URI,以便我們可以將其傳遞給VIDEOVIEW對象:

然後妳就可以嘗試開始播放了:

安卓系統支持壹系列的視頻格式,大多數設備都是能夠播放很多視頻格式的。

妳可以在開發者指南中看到,支持的視頻格式文件包括3GP,MP4,WEBM和MKV,具體取決於所使用的視頻格式和用戶平臺。

音頻文件格式,妳可以期待內置包括MP3,MID,OGG和WAV。  妳可以通過RTSP,HTTP和HTTPS來在安卓上進行音頻傳輸。

4.添加播放控件

步驟1

我們已經實現了視頻播放,但是用戶是期望能夠自由控制播放的。  安卓平臺上面能通過MEDIACONTROLLER使用互動來解決這個問題。

在妳的ACTIVITY類的ONCREATE方法裏,調用START裏的VIDEOVIEW,新建壹個實例:

接下來,將其設置為VIDEVIEW實例的錨點:

最後,將其設置為VIDEOVIEW對象的媒體控制器:

當妳現在運行應用程序時,用戶能夠控制視頻的播放,包括快進快退暫停播放壹大堆控件。

時間軸控件隨著播放時間而改變。  除了輕觸觸發控件外,還需要與壹系列的APP或者網站的使用習慣相同。

妳會看到,當妳運行應用程序,默認的行為是幾分鐘後消失的控件,當用戶觸摸屏幕再現。 您可以配置多種媒體控制器對象的行為。 關於如何安卓音樂APP的系列文章。 還可以通過實現各種傳感器器來配置應用程序的行為,從而增強媒體回放。

5.使用MEDIAPLAYER

步驟1

在完成之前,讓我們來看看使用MEDIAPLAYER的替代方法,因為我們在制作音樂APP的時候曾用到過它。  妳可以使用MEDIAPLAYER通過表面視圖來傳輸流媒體到對象。  列如,妳可以使用以下代碼: 

我們將在SURFACEVIEW在ACTIVITY中實施引用。

步驟2

在妳的ACTIVITY課堂中,添加以下界面:

妳的IDE應該提示妳添加這些的方法:

我們將添加SUFACECREATED和ONPREPARED的使用方法。

步驟3

要實現播放,還需要添加以下實例變量到類中:

在ACTIVITY的ONCREATE裏,妳可以使用實例化來將這些變量添加到布局中:

步驟4

在該方法中,設置媒體播放資源:

最後,開始播放。

妳的視頻下載應該可以在妳的APP裏進行播放了。

結論    

在本教程中,我們概述了使用VIDEVIEW和MEDIAPLAYER的安卓流媒體傳輸的基礎知識。  妳可以在我們學習更多增強功能的代碼。列如,通過我們制作的音樂APP中購買流媒體支持。 妳也可以查看安卓的相關資源,列如油管安卓端播放的API接口。

关注我们的公众号
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.