編輯:關於Android編程
視頻播放器的開發:
1、主要完成單位時間內的顯示。
2、內部使用雙緩沖機制:
3、直接操作顯卡的顯存,速度較快。
1、化布局界面:
android:layout_width="fill_parent"
>
android:orientation="vertical" >
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:textSize="20sp" />
android:id="@+id/et_path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
android:id="@+id/play"
android:layout_width="0dip"
>
android:layout_weight="1"
android:text="播放" />
android:id="@+id/pause"
android:layout_width="0dip"
android:layout_height="wrap_content"
>
android:text="暫停" />
android:id="@+id/replay"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
>
android:id="@+id/stop"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="停止" />
//顯示視頻的控件:
android:id="@+id/sv"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
①、播放:
MediaPlayer>
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//獲取SurfaceView對象:
SurfaceView>
//通過SurfaceView 獲取SurfaceHolder 對象
SurfaceHolder>
//指定播放的視頻顯示到那個控件裡面
mediaPlayer.setDisplay(holder);
//設置播放資源的路徑, 如:/sdcard/oppo.3gp
mediaPlayer.setDataSource(path);
//初始化播放器:
方式一:同步的:
mediaPlayer.prepare();
方式二:異步的:
mediaPlayer.prepareAsync();// 異步的准備
//設置異步准備完成的監聽器 ,當異步准備完成後調用裡面的方法:
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
public>
>
>
>
>
>
}
③、停止:
private>
//獲取當前播放的位置
>
>
>
>
//通過SurfaceView 獲取SurfaceHolder 對象
SurfaceHolder>
//指定播放的視頻顯示到那個控件裡面
mediaPlayer.setDisplay(holder);
②、解決方法:要為SurfaceHolder對象設置回調函數:
Surfaceview>
//設置SurfaceHolder 的回調方法;
sv.getHolder().addCallback(new Callback() {
//當SurfaceHolder被銷毀的時候調用該方法:
>
mediaplater.reset(); //回到Idle狀態
2. 使用setDataSource(); 設置播放的數據源
3. 底層的c代碼初始化播放器
方式一:mediaplayer.prepare();
同步的方法.
如果沒有准備完畢 不會執行下面的代碼
mediaplayer.start();
方式二:mediaplayer.prepareAsync();
異步的方法,
要想知道什麼時候准備完畢需要注冊onPreparedListener的監聽事件,在准備完畢後會調用內部的onPrepared()方法:
在onPrepared()方法裡面完成視頻的播放.
1、如果我們想在線的播放一個流媒體資源:
要求一定是一個支持漸進式下載的資源文件,就是視頻分為若干個幀的資源,每一個幀都是一個可以被獨立播放的畫面。
2、支持漸進式下載的資源:
3gp 格式的支持http://協議下載
rtsp://>
前言話說這universalimageloader加載圖片對搞過2年安卓程序都是用爛了再熟悉不過了,就是安卓新手也是百度就會有一大堆東西出來,今天為什麼這裡還要講使用un
要想使用Eclipse開發Android應用,首先要安裝一個ADT插件,在此記錄一下在Eclipse中采用在線安裝的方式ADT插件,我使用的Eclipse版本是:ecli
第一步:配置NDK運行環境 兩個工具包: com.android.ide.eclipse.ndk_23.0.2.1259578.jar android-ndk-r10(當
Okio庫是一個由square公司開發的,它補充了java.io和java.nio的不足,以便能夠更加方便,快速的訪問、存儲和處理你的數據。而OkHttp的底層也使用該庫