vdvwFilm=(VideoView)root.findViewById(R.id.vdvwFilm);
String uri = "android.resource://" + getActivity().getPackageName() + "/" + R.raw.m1;
vdvwFilm.setVideoURI(Uri.parse(uri));//视频设置链接
k.setText("开始");vdvwFilm.start();
k.setText("暂停");vdvwFilm.stopPlayback();
mp= MediaPlayer.create(getActivity(), R.raw.m2);//音乐播放器
s=(SeekBar)root.findViewById(R.id.seekbar);
s.setMax(mp.getDuration());//进度条长度
s.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
mp.seekTo(seekBar.getProgress());//音乐
}
});
progressThread progressThread= new progressThread();
progressThread.start();
if(mp.isPlaying()){
mp.pause();
t.setText("音频开始");
}else{
mp= MediaPlayer.create(getActivity(), R.raw.m2);
mp.start();
t.setText("音频暂停");
}
}
});
return root;
}
class progressThread extends Thread{
boolean flag=true;
@Override
public void run() {
super.run();
while(flag){
if(mp.isPlaying()) {
s.setProgress(mp.getCurrentPosition()); //实时获取播放音乐的位置并且设置进度条的位置
}
}
}
//下面的函数是外部调用种植线程的,因为现在是不提倡直接带哦用stop方法的
public void stopThread(){
this.flag=false;
}
}
// private class SeekBarThread implements Runnable {
//
// @Override
// public void run() {
while (mp != null && mp.isPlaying()== false) {
// // 将SeekBar位置设置到当前播放位置
// s.setProgress(mp.getCurrentPosition());
// try {
// // 每100毫秒更新一次位置
// Thread.sleep(100);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
}
//
// }}// me=new MediaController(getActivity());
me.setMediaPlayer(vdvwFilm);
vdvwFilm.setMediaController(me);
s=(SeekBar)root.findViewById(R.id.seekbar);
s.setMax(mp.getDuration());
// 创建一个线程
Thread thread = new Thread(new SeekBarThread());
// 启动线程
thread.start();
s.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(fromUser){
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
if(mp.isPlaying()){
s.setProgress(mp.getCurrentPosition());
}
int position = mp.getCurrentPosition();
int time = mp.getDuration();
int max = s.getMax();
s.setProgress(position*max/time);
//s=(SeekBar) root.findViewById(R.id.seekbar);
//s.setOnSeekBarChangeListener((SeekBar.OnSeekBarChangeListener) getActivity());
// try {
// mp.prepare();
// } catch (IOException e) {
// e.printStackTrace();
// }
// File file = new File(Environment.getExternalStorageDirectory()
// + "/Download/", "aiqiu.mp3");
// try {
// mp.setDataSource(file.getPath());
// } catch (IOException e) {
// e.printStackTrace();
// }
}
AndroidStudio音频
最新推荐文章于 2023-06-09 17:42:42 发布