视频播放的三种方式
来源:互联网 发布:数据库中的字典表使用 编辑:程序博客网 时间:2024/06/07 21:06
三种方式
1、intent
action:Intent.ACTION.VIEW
setDataAndType(视频地址,”video/*”) 视频地址为Uri类型
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse(Environment.getExternalStorageDirectory().getPath()+"//Movies//vivo.mp4");
intent.setDataAndType(data , "video/*");
startActivity(intent);
2、VideoView+MediaController
VideoView控件添加地址
实例化MediaController
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity implements OnClickListener {
private Button play;
private VideoView videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.play);
videoview = (VideoView) findViewById(R.id.video_view);
play.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()+"//Movies//vivo.mp4");
// TODO Auto-generated method stub
videoview.setVideoURI(uri);
MediaController MC = new MediaController(this);
videoview.setMediaController(MC);
MC.setAnchorView(videoview);
videoview.start();
}
}
3、SurfaceView+MediaPlayer
import java.io.IOException;import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
private SurfaceView sv;
private MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button play = (Button) findViewById(R.id.play);
sv = (SurfaceView) findViewById(R.id.sv);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()+"//Movies//vivo.mp4");
player = MediaPlayer.create(this, uri);
play.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SurfaceHolder holder = sv.getHolder();
holder.addCallback(new Callback() {
@Override
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
player.setDisplay(holder);
player.start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
});
}
}
- Android视频播放总结: 三种播放视频的方式
- 三种方式实现视频的播放
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android 三种播放视频的方式
- Android三种播放视频的方式
- Android播放视频的三种方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- Android三种播放视频的方式
- 决策树可视化环境搭建
- c++的vector赋值方法汇总
- 牛客网---2016---美团股票交易日
- Tomcat与内存泄露
- 一.Spring4学习-----Spring介绍
- 视频播放的三种方式
- SuperMap iDesktop Cross 9D之工作流
- Java内存溢出详解及解决方案
- UVa 10090
- < 笔记 > CSS
- android 的事件分发
- BZOJ1260 [CQOI2007]涂色paint
- 魔方CFOP算法java实现
- js和jquery实现图片轮播