日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
基于VLC的視頻播放器

最近在研究視頻播放的功能,之前是使用VideoView。在網(wǎng)上看了一下,感覺(jué)不是很好,支持的格式比較少,現(xiàn)在網(wǎng)絡(luò)視頻的格式各種各樣,感覺(jué)用VideoView播放起來(lái)局限性很大。

創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上千多家服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

找到了一個(gè)比較合適的播放器,Github地址為https://github.com/xiaomo/AndroidPlayerLibrary 。這個(gè)播放器是基于VLC這個(gè)軟件,在將我們的demo導(dǎo)入到Eclipse中之后,可以發(fā)現(xiàn),這樣一個(gè)libvlc文件夾。

在Media這個(gè)類中我們可以發(fā)現(xiàn),這些是支持的格式還是比較多的。

 
 
 
 
  1. String[] video_extensions = { 
  2.                 ".3g2", ".3gp", ".3gp2", ".3gpp", ".amv", ".asf", ".avi", ".divx", ".drc", ".dv", 
  3.                 ".f4v", ".flv", ".gvi", ".gxf", ".ismv", ".iso", ".m1v", ".m2v", ".m2t", ".m2ts", 
  4.                 ".m4v", ".mkv", ".mov", ".mp2", ".mp2v", ".mp4", ".mp4v", ".mpe", ".mpeg", 
  5.                 ".mpeg1", ".mpeg2", ".mpeg4", ".mpg", ".mpv2", ".mts", ".mtv", ".mxf", ".mxg", 
  6.                 ".nsv", ".nut", ".nuv", ".ogm", ".ogv", ".ogx", ".ps", ".rec", ".rm", ".rmvb", 
  7.                 ".tod", ".ts", ".tts", ".vob", ".vro", ".webm", ".wm", ".wmv", ".wtv", ".xesc" }; 
  8.  
  9. String[] audio_extensions = { 
  10.                 ".3ga", ".a52", ".aac", ".ac3", ".adt", ".adts", ".aif", ".aifc", ".aiff", ".amr", 
  11.                 ".aob", ".ape", ".awb", ".caf", ".dts", ".flac", ".it", ".m4a", ".m4b", ".m4p", 
  12.                 ".mid", ".mka", ".mlp", ".mod", ".mpa", ".mp1", ".mp2", ".mp3", ".mpc", ".mpga", 
  13.                 ".oga", ".ogg", ".oma", ".opus", ".ra", ".ram", ".rmi", ".s3m", ".spx", ".tta", 
  14.                 ".voc", ".vqf", ".w64", ".wav", ".wma", ".wv", ".xa", ".xm" }; 

在這個(gè)例子中它自己寫了一個(gè)PlayerActivity和PlayerView,在PlayerView中實(shí)現(xiàn)了libvlc中的IVideoPlayer接口

在PlayerActivity中實(shí)現(xiàn)PlayerView類,從而進(jìn)行界面和流程的控制。

 
 
 
 
  1. protected void onCreate(Bundle savedInstanceState) { 
  2.         super.onCreate(savedInstanceState); 
  3.         mUrl = getIntent().getStringExtra("url"); 
  4.         if (TextUtils.isEmpty(mUrl)) { 
  5.             Toast.makeText(this, "error:no url in intent!", Toast.LENGTH_SHORT).show(); 
  6.             return; 
  7.         } 
  8.         requestWindowFeature(Window.FEATURE_NO_TITLE); 
  9.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
  10.  
  11.         setContentView(R.layout.activity_player); 
  12.  
  13.         mHandler = new Handler(this); 
  14.  
  15.         tvTitle = (TextView) findViewById(R.id.tv_title); 
  16.         tvTime = (TextView) findViewById(R.id.tv_time); 
  17.         tvLength = (TextView) findViewById(R.id.tv_length); 
  18.         sbVideo = (SeekBar) findViewById(R.id.sb_video); 
  19.         sbVideo.setOnSeekBarChangeListener(this); 
  20.         ibLock = (ImageButton) findViewById(R.id.ib_lock); 
  21.         ibLock.setOnClickListener(this); 
  22.         ibBackward = (ImageButton) findViewById(R.id.ib_backward); 
  23.         ibBackward.setOnClickListener(this); 
  24.         ibPlay = (ImageButton) findViewById(R.id.ib_play); 
  25.         ibPlay.setOnClickListener(this); 
  26.         ibFarward = (ImageButton) findViewById(R.id.ib_forward); 
  27.         ibFarward.setOnClickListener(this); 
  28.         ibSize = (ImageButton) findViewById(R.id.ib_size); 
  29.         ibSize.setOnClickListener(this); 
  30.  
  31.         llOverlay = findViewById(R.id.ll_overlay); 
  32.         rlOverlayTitle = findViewById(R.id.rl_title); 
  33.  
  34.         rlLoading = findViewById(R.id.rl_loading); 
  35.         tvBuffer = (TextView) findViewById(R.id.tv_buffer); 
  36.         //使用步驟 
  37.         //***步 :通過(guò)findViewById或者new PlayerView()得到mPlayerView對(duì)象 
  38.         //mPlayerView= new PlayerView(PlayerActivity.this); 
  39.         mPlayerView = (PlayerView) findViewById(R.id.pv_video); 
  40.  
  41.         //第二步:設(shè)置參數(shù),毫秒為單位 
  42.         mPlayerView.setNetWorkCache(20000); 
  43.  
  44.         //第三步:初始化播放器 
  45.         mPlayerView.initPlayer(mUrl); 
  46.  
  47.         //第四步:設(shè)置事件監(jiān)聽(tīng),監(jiān)聽(tīng)緩沖進(jìn)度等 
  48.         mPlayerView.setOnChangeListener(this); 
  49.  
  50.         //第五步:開始播放 
  51.         mPlayerView.start(); 
  52.  
  53.         //init view 
  54.         tvTitle.setText(mUrl); 
  55.         showLoading(); 
  56.         hideOverlay(); 
  57.  
  58.     } 

關(guān)于如何使用這個(gè)類庫(kù)

庫(kù)兩種使用方式:

***種,直接new一個(gè)PlayerView或者在布局文件的xml里面嵌入view。

第二種,跳轉(zhuǎn)到一個(gè)寫好的播放頁(yè)面PlayerActivity (本地文件參數(shù)格式:file:///sacard/test.rmvb。)

這里我選擇了第二種方法

 
 
 
 
  1. startActivity(new Intent(this, PlayerActivity.class).putExtra("url", items.get(position))); 

通過(guò)一個(gè)選擇列表的形式,點(diǎn)擊每一項(xiàng),傳遞一個(gè)url到PlayerActivity

 選擇列表中的1.2JDK下載.mp4

橫豎屏的切換也是沒(méi)有問(wèn)題的。


網(wǎng)站題目:基于VLC的視頻播放器
當(dāng)前路徑:http://m.5511xx.com/article/cohejic.html