導航:首頁 > 操作系統 > 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本地視頻播放器源碼相關的資料

熱點內容
神舟裝linux 瀏覽:76
系統命令程序 瀏覽:447
全世界通用解壓方法 瀏覽:65
螞蟻森林自動收能量源碼 瀏覽:11
職業中專編程課程都學什麼 瀏覽:247
甜橙生活app在哪裡用 瀏覽:525
雲計算伺服器是怎麼組成的 瀏覽:975
解壓時發現文件損壞 瀏覽:796
linuxsortk 瀏覽:836
添加郵箱輸入pop伺服器地址 瀏覽:664
php用eclipse 瀏覽:100
更改加密狗鎖號 瀏覽:697
偉納編程器連接失敗 瀏覽:701
意圖識別演算法圖片 瀏覽:788
單片機易混淆概念 瀏覽:591
stata面板固定效應回歸命令 瀏覽:862
lol手游連接不上伺服器怎麼回事 瀏覽:17
演算法工程師求職感悟 瀏覽:486
六一快樂解壓圖 瀏覽:530
effectivecpdf英文 瀏覽:277