導航:首頁 > 操作系統 > android本地視頻播放器源碼

android本地視頻播放器源碼

發布時間:2024-12-30 19:09:53

A. android實現視頻播放的幾種方式

Android提供了常見的視頻編碼,解碼機制,使用Android自帶的MediaPlayer,MediaController等類可以很方便的實現視頻播放的功能。支持的視頻格式有MP4和3GP等。這些多媒體數據可以來自於Android應用的資源文件,也可以來自於外部存儲器上的文件,甚至可以是來自於網路上的文件流。

1、MediaController+VideoView實現方式

這種方式是最簡單的實現方式。VideoView繼承了SurfaceView同時實現了MediaPlayerControl介面,MediaController則是安卓封裝的輔助控制器,帶有暫停,播放,停止,進度條等控制項。通過VideoView+MediaController可以很輕松的實現視頻播放、停止、快進、快退等功能。

布局文件如下:

使用此實現方式的步驟:

1.載入指定的視頻文件

2.建立VideoView和MediaController之間的關聯,這樣就不需要自己去控制視頻的播放、暫停等。讓MediaController控制即可。

3.VideoView獲取焦點。

2、MediaPlayer+SurfaceView+自定義控制器

雖然VideoView的實現方式很簡單,但是由於是自帶的封裝好的類,所以無論是播放器的大小、位置以及控制都不受我們控制。

這種實現方式步驟如下:

1.創建MediaPlayer對象,並讓它載入指定的視頻文件。可以是應用的資源文件、本地文件路徑、或者URL。

2.在界面布局文件中定義SurfaceView組件,並為SurfaceView的SurfaceHolder添加Callback監聽器。

3.調用MediaPlayer對象的setDisplay(SurfaceHolder sh)將所播放的視頻圖像輸出到指定的SurfaceView組件。

4.調用MediaPlayer對象的prepareAsync()或prepare()方法裝載流媒體文件

5.調用MediaPlayer對象的start()、stop()和pause()方法來控制視頻的播放。

在實現第二步之前需要先給surfaceHolder設置一個callback,callback的3個回調函數如下:

3、MediaPlayer+SurfaceView+MediaController

第二種實現方式使用的是自定義控制項,MediaPlayer+SurfaceView也可以使用系統自帶的MediaController控制器。

使用這個方式實現,布局文件只需一個SurfaceView即可,其他的控制項都交給MediaController控制器,布局文件如下:

實際過程中推薦大家使用B站的播放器ijkplayer非常好用!

B. android 如何調用系統播放器播放伺服器端視頻

這樣寫是播放本地的視頻文件的吧,要是想播放網路上的視頻你可以這樣試一下Uri uri = Uri.parse("rtsp://v2.cache2.c.youtube.com/CjgLENy73wIaLwm3JbT_%ED%AF%80%ED%B0%_vSmsbeSyd5JDA==/0/0/0/video.3gp");
39. VideoView videoView = (VideoView)this.findViewById(R.id.video_view);
40. videoView.setMediaController(new MediaController(this));
41. videoView.setVideoURI(uri);
42. //videoView.start();
43. videoView.requestFocus();

C. android如何調用系統視頻播放器,而且沒有發送qq這個選項

在Activity中的btn,點擊btn調用系統默認播放器進行本地視頻播放
public Intent getVideoFileIntent(File videoFile)
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("oneshot", 0);
intent.putExtra("configchange", 0);
Uri uri = Uri.fromFile(videoFile);
intent.setDataAndType(uri, "video/*");
return intent;
}
在OnCreate函數中:
btnplay = (Button)findViewById(R.id.button_play2);
btnplay.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
File file1 = new File("/sdcard/test.mp4");
Intent intent = getVideoFileIntent(file1);
startActivity(intent);

}
});

D. Android開發一個視頻播放器,播放列表中有視頻縮略圖,文件名,路徑,時間,大小,怎麼讓他們放在一個

這個問題本身不難,你貼一堆代碼這么亂怎麼看?

要實現這樣的功能呢,建議你自定義一個adapter繼承自BaseAdapter,然後在getView方法里,
載入一個item布局,這個item布局可以包含imageView,自己寫一個就好。
自定義的adapter可以設置數據源,構造方法中可以加上一個list map數據源,
獲取到數據源之後傳進來,根據position設置好對應數據就好了。

閱讀全文

與android本地視頻播放器源碼相關的資料

熱點內容
app成英文了怎麼辦 瀏覽:606
iphone怎麼把視頻圖片加密 瀏覽:752
幻術命令 瀏覽:296
電視app搜不到怎麼辦 瀏覽:889
cnc編程前景 瀏覽:969
java腳本引擎 瀏覽:632
深信服超融合伺服器怎麼重啟 瀏覽:474
php統計頁面訪問量 瀏覽:447
單片機模擬器圖片大全 瀏覽:955
mac壓縮pdf大小 瀏覽:708
蘋果新手機激活無法連接伺服器地址 瀏覽:330
dvd遙控編程器 瀏覽:928
阿里雲的雲伺服器在哪裡下載 瀏覽:444
linuxphpcpu 瀏覽:534
單片機交通信號燈課程設計 瀏覽:386
linuxusb識別u盤 瀏覽:391
找對象app名稱是什麼 瀏覽:162
為什麼選擇童程童美學習編程 瀏覽:742
db2runstats命令 瀏覽:849
matlab怎麼用遺傳演算法 瀏覽:809