首先我们来看一下 Android N 支持的视频文件有哪些。Android N 支持的视频格式下表所示。
Android N 支持的视频文件
格式/编码
支持的文件类型
H.263
3GPP(.3gp);MpEG-4(.mp4)
H.264 AVC
3GPP(.3gp);MpEG-4(.mp4)
MPEG-TS(.ts,AAC audio only,not seekable,Android 3.0+)
MPEG-4 SP
3GPP(.3gp)
VP8
WebM(.webm);Matroska mkv
视频播放器
与音频播放相比,视频播放需要使用视觉组件将影像显示出来。
在 Android SDK 中提供了多种播放视频文件的方法。例如,可以用 VideoView 或 SurfaceView 来播放视频,其中使用 VideoView 组件播放视频最为方便。
实例 VideoPlayDemo 演示了使用 android.widget.VideoView 组件进行视频播放的方法,运行效果如图 1 所示。
图 1 VideoPlayDemo 的运行效果
实例 VideoPlayDemo 中含有两个 Activity,其中 PlayVideo 含有 VideoView 组件对象,用于播放视频。视频文件存放在 SD 卡中,路径为“Movies/movie.3gp”。而 VideoPlayAcitvity 为主 Activity,用于启动 PlayVideo。
实例 VideoPlayDemo 中 MainActivity.java 的代码如下:
package introduction.android.videoplaydemo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainAcitvity extends Activity {
/**
* Called when the activity is first created.
*/
private Button buttonOl;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button01 = (Button) findViewById(R.id.buttonOl);
button0l.setOnClickListener(new buttonListener());
}
class buttonListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, PlayVideo.class);
MainAcitvity.this.startActivity(intent);
}
}
}
实例 VideoPlayDemo 中 PlayVideo.java 的代码如下:
package introduction.android.videoplaydemo;
import and