1.播放音乐文件
安卓里面包装好了MediaPlayer这个类,然后使用异步的方法,采用软编的方式可以播放一些基本的音乐文件的格式
<span style="font-size:14px;">public void play(View v){
String path = etPath.getText().toString().trim();
if(TextUtils.isEmpty(path)){
return;
}
//获得播放音乐的对象
if(player==null){
player=new MediaPlayer();
}
//重置播放器
player.reset();
//给播放器设置路径的错误监听
player.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
System.out.println("错误码:"+what);
return false;
}
});
try {
//设置播放源
player.setDataSource(path);
// //准备播放
// player.prepare();
//一般都会使用异步的方法来播放,将耗时的任务放在子线程中
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
//资源准备完毕才播放
//播放
player.start();
//根据播放内容去改变进度条进度
performProgress();
}
});
player.prepareAsync();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
</span>
设置进度条:
<span style="font-size:14px;">public void performProgress(){
//设置进度条的长度为音乐文件的长度
skbProgress.setMax(player.getDuration());
//获取播放进度并且改变进度条
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while(player!=null&&player.isPlaying()){
int currentPosition=player.getCurrentPosition();
skbProgress.setProgress(currentPosition);
}
}
}).start();
}</span>
2.播放视频,使用videoview这个控件
xml:
<span style="font-size:14px;"><VideoView
android:id="@+id/vv"
android:layout_width="match_parent"
android:layout_height="match_parent" /></span>
给其设置控制器 mediaController
<span style="font-size:14px;">private VideoView vv;
vv=(VideoView) findViewById(R.id.vv);
MediaController mc=new MediaController(this);
mc.setAnchorView(vv);
vv.setMediaController(mc);
vv.setVideoPath("mnt/sdcard/areyouok.3gp");
vv.start();</span>