標籤:
前言
學新東西API很重要,這裡拋磚引玉整理了一下,歡迎反饋!
聲明
歡迎轉載,但請保留文章原始出處:) 部落格園:http://www.cnblogs.com 農民伯伯: http://over140.cnblogs.com
本文
vlc-android的LibVLC相當於MediaPlayer對象,這裡列一下對應關係。
1、public void playMRL(String mrl)
對應MediaPlayer的setDataSource,注意不要轉成Uri再toString,否則無法播放。用法如下:
playMRL("http://live.3gv.ifeng.com/zixun.m3u8")
2、 public native void play()
對應MediaPlayer的start(),開始播放。
3、 public native void pause()
對應MediaPlayer的pause(),暫停播放。
4、public native void stop()
對應MediaPlayer的stop(),停止播放。
5、public native boolean isPlaying()
對應 MediaPlayer的isPlaying,是否現正播放。
6、public native int getPlayerState();
擷取播放器的狀態。
7、public native int getVolume()
擷取音量。
8、public native int setVolume(int volume)
設定音量。(取值範圍和MediaPlayer不一樣)
9、public native long getLength()
對應 MediaPlayer的getDuration。擷取視頻的長度,以毫秒為單位。
10、public native long getTime()
返回視頻目前時間,以毫秒為單位。
11、public native long setTime(long time)
設定視頻目前時間,以毫秒為單位。
12、public native float getPosition()
對應MediaPlayer的getCurrentPosition。設定視頻當前位置。
13、public native void setPosition(float pos)
對應 MediaPlayer的seekTo。設定視頻當前位置。
14、public native void setRate(float rate)
設定播放速度(可實現快進快退)1是正常速度,2是兩倍速(我猜可能和Vitamio一樣取值是0.5 ~ 2.0) ,對應的有getRate方法。
15、public native boolean isSeekable()
是否支援seek(拖拽)。比如直播就不支援seek操作
16、public void destroy()
對應 MediaPlayer的release,銷毀LibVLC執行個體。
17、public byte[] getThumbnail(String mrl, int i_width, int i_height)
擷取視頻的,rgba的byte數組。
18、public void setHardwareAcceleration(int hardwareAcceleration)
設定硬解編碼,參考LibVLC.HW_ACCELERATION_FULL等參數
19、public void setNetworkCaching(int networkcaching)
設定網路緩衝。(還不知道怎麼用,有看到設定值為3000、6000)
20、public void setFrameSkip(boolean frameskip)
(暫時也不知道有啥用,好像可以提高效能,幀解碼出錯以後直接跳過?)
【VLC-Android】vlc-android簡例
結束
雖然用播放器很長時間了,很多基礎性和原理性的東西都還不懂,還要加強學習,比如上面的frame skip就不知道是啥。
【VLC-Android】LibVLC API簡介(相當於VLC的MediaPlayer)