[分享] 播放RTSP串流的影片
今天來分享一下串流影片的做法
(這裡有圖 http://fooolgle.blogspot.com/2011/05/streamrtsp.html)
在開始做之前需要知道幾件重要的事
1.要在Layout裡新增一個SurfaceView
2.需要實作SurfaceHolder.Callback的事件
(implements SurfaceHolder.Callback)
3.要在surfaceCreated事件下產生MediaPlayer (不然會沒有畫面)
接下來看程式碼吧
先把在Layout新增的SurfaceView存成變數,然後取得Holder
接下來都是透過Holder去做事情
設定他的型態,還有設定Callback函數
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
surfaceview = (SurfaceView)findViewById(R.id.surfaceView1);
surfaceholder = surfaceview.getHolder();
surfaceholder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceholder.addCallback(this);
}
然後在surfaceCreated事件下產生MediaPlayer
@Override
public void surfaceCreated(SurfaceHolder arg0) {
m = new MediaPlayer();//產生MediaPlayer物件
try {
m.setAudioStreamType(AudioManager.STREAM_MUSIC);//設定型態
m.setDataSource("rtsp://v.starv.tv/later.3gp");//路徑
m.setDisplay(surfaceholder);//用surfaceholder顯示畫面
m.prepareAsync();//要用非同步的準備,UI介面才不會停住
} catch (Exception e) {}
m.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
text.setText("緩衝處理中: "+ percent +" %");//顯示緩衝進度
if (percent==100){//如果緩衝完成就開始播放
m.start();
mHandle.sendEmptyMessage(0);//開始更新進度條
}}});
m.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
seekBar.setMax(m.getDuration());//設定總毫秒數
m.start();//載入完成時播放
}});
}
因為是RTSP串流的方式,所以我有透過SeekBar加上隨點即播的功能
詳細程式碼請看 http://uploadmirrors.com/download/0AFVJRV9/stream_rtsp.zip
--
我的Android作品集
http://android.wuya.us/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.68.87
※ 編輯: badhabit 來自: 115.80.161.110 (05/28 09:03)
推
05/28 09:14, , 1F
05/28 09:14, 1F
推
05/28 11:19, , 2F
05/28 11:19, 2F
推
05/28 13:27, , 3F
05/28 13:27, 3F
→
05/28 13:51, , 4F
05/28 13:51, 4F
推
05/28 14:39, , 5F
05/28 14:39, 5F
→
05/28 15:20, , 6F
05/28 15:20, 6F
推
05/28 15:44, , 7F
05/28 15:44, 7F
推
05/30 13:21, , 8F
05/30 13:21, 8F
推
07/12 14:13, , 9F
07/12 14:13, 9F
推
11/29 15:57, , 10F
11/29 15:57, 10F
推
11/19 01:38, , 11F
11/19 01:38, 11F
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章