package com.mingrisoft;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private MediaPlayer mp; //声明MediaPlayer对象
private SurfaceView sv; //声明SurfaceView对象
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp=new MediaPlayer(); //实例化MediaPlayer对象
sv=(SurfaceView)findViewById(R.id.surfaceView1); //获取布局管理器中添加的SurfaceView组件
Button play=(Button)findViewById(R.id.play); //获取“播放”按钮
final Button pause=(Button)findViewById(R.id.pause); //获取“暂停/继续”按钮
Button stop=(Button)findViewById(R.id.stop); //获取“停止”按钮
//为“播放”按钮添加单击事件监听器
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.reset(); //重置MediaPlayer对象
try {
mp.setDataSource("/sdcard/ccc.mp4"); //设置要播放的视频
mp.setDisplay(sv.getHolder()); //设置将视频画面输出到SurfaceView
mp.prepare(); //预加载视频
mp.start(); //开始播放
sv.setBackgroundResource(R.drawable.bg_playing); //改变SurfaceView的背景图片
pause.setText("暂停");
pause.setEnabled(true); //设置“暂停”按钮可用
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
//为“停止”按钮添加单击事件监听器
stop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(mp.isPlaying()){
mp.stop(); //停止播放
sv.setBackgroundResource(R.drawable.bg_finish); //改变SurfaceView的背景图片
pause.setEnabled(false); //设置“暂停”按钮不可用
}
}
});
//为“暂停”按钮添加单击事件监听器
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(mp.isPlaying()){
mp.pause(); //暂停视频的播放
((Button)v).setText("继续");
}else{
mp.start(); //继续视频的播放
((Button)v).setText("暂停");
}
}
});
//为MediaPlayer对象添加完成事件监听器
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
sv.setBackgroundResource(R.drawable.bg_finish); //改变SurfaceView的背景图片
Toast.makeText(MainActivity.this, "视频播放完毕!", Toast.LENGTH_SHORT).show();
}
});
}
@Override
protected void onDestroy() {
if(mp.isPlaying()){
mp.stop(); //停止播放视频
}
mp.release(); //释放资源
super.onDestroy();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
安卓播放SD卡上的视频功能
共27个文件
class:11个
jpg:4个
xml:3个
需积分: 10 16 下载量 180 浏览量
2015-08-04
21:50:05
上传
评论 1
收藏 337KB RAR 举报
温馨提示
安卓开发中,开发播放SD卡上的视频的功能,在一个主活动中通过按钮控制视频播放开始和暂停,适合初学者。
资源推荐
资源详情
资源评论
收起资源包目录
android-mediaplay.rar (27个子文件)
10.4
bin
res
classes
com
mingrisoft
MainActivity.class 2KB
MainActivity$3.class 1KB
MainActivity$2.class 1KB
MainActivity$1.class 2KB
R$layout.class 382B
R$id.class 500B
R$drawable.class 524B
R$attr.class 328B
R.class 503B
MainActivity$4.class 1KB
R$string.class 415B
res
drawable-ldpi
ic_launcher.png 6KB
drawable-hdpi
ic_launcher.png 6KB
values
strings.xml 174B
drawable-mdpi
bg_finish.jpg 96KB
ic_launcher.png 6KB
bg.jpg 79KB
bg_playing.jpg 95KB
mpbackground.jpg 94KB
layout
main.xml 1KB
assets
gen
com
mingrisoft
R.java 1KB
proguard.cfg 1KB
src
com
mingrisoft
MainActivity.java 3KB
.project 840B
.classpath 364B
project.properties 361B
AndroidManifest.xml 732B
共 27 条
- 1
资源评论
dingli414
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功