Android之視頻播放

fmms 12年前發布 | 82K 次閱讀 Android Android開發 移動開發

    視頻播放比音頻播放要復雜一些,除了音頻之外,還需要考慮一個視覺組件。為了解決這一問題,Android提供了一個專門的視圖控制器 android.widget.VideoView,封裝了MediaPlayer的創建和初始化過程,這個小部件可以用在任何布局管理器中,而且它提供了很多顯示選項,包括縮放和著色。要實現播放功能,我們要做的是,創建一個VideoView小部件并將其設置為用戶界面的內容,然后設置視圖的路徑或 URI并觸發start()方法。

    視頻播放除了需要按鈕控件外,還需要一個顯示視頻的框架。對于我們這個例子,這里使用VideoView組件顯示視頻內容,沒有創建我們自己的按鈕控件,而是創建了一個MediaController來提供這些按鈕(如果需要另外創建的話,也可以自己創建)。

代碼如下:

-----------------------------MainActivity----------------------------

package cn.com.pan;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity {
   private VideoView videoView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        videoView = (VideoView) this.findViewById(R.id.videoView);
        MediaController mc = new MediaController(this);
        videoView.setMediaController(mc);
        //videoView.setVideoURI(Uri.parse(""));
        videoView.setVideoPath("/sdcard/test.mp4");
        videoView.requestFocus();
        videoView.start();
    }
}

--------------------------------main.xml------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <VideoView
     android:id="@+id/videoView"
     android:layout_width="320dip"
     android:layout_height="260dip"
    ></VideoView>
</LinearLayout>

    在運行應用程序前,我們需要在模擬器中設置sdcard。創建一個新的SD卡映像mksdcard 512M mysdcard,使用emulator-sdcard mysdcard命令將SD卡加載到模擬器中,然后將文件test.mp4放入磁盤映像中,再啟動應用程序。

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!