public class PlayerVideoTest extends Activity implements OnClickListener,OnSeekBarChangeListener
{
private ImageView btnPause, btnPlay, btnStop;
private SurfaceView surfaceView;
private SeekBar skbProgress;
private PlayerVideo player;
private int progress;
@Override
protected void onCreate(Bundle instance)
{
super.onCreate(instance);
setContentView(R.layout.player);
// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //切换屏幕
initResource();
setOnClickListenner();
}
/*
* set onclick listenner
*/
private void setOnClickListenner()
{
this.btnPlay.setOnClickListener(this);
this.btnPause.setOnClickListener(this);
this.btnStop.setOnClickListener(this);
this.skbProgress.setOnSeekBarChangeListener(this);
this.player = new PlayerVideo(surfaceView, skbProgress);
}
/*
* init resource
*/
private void initResource()
{
this.surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);
this.btnPlay = (ImageView) this.findViewById(R.id.btnPlay);
this.btnPause = (ImageView) this.findViewById(R.id.btnPause);
this.btnStop = (ImageView) this.findViewById(R.id.btnStop);
this.skbProgress = (SeekBar) this.findViewById(R.id.skbProgress);
}
@Override
public void onClick(View view)
{
if (view == btnPause)
{
this.player.pause();
}
else if (view == btnPlay)
{
String url = "/sdcard/shaonv1.3gp";
this.player.playUrl(url);
}
else if (view == btnStop)
{
this.player.stop();
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
{
// TODO Auto-generated method stub
this.progress = progress * player.mediaPlayer.getDuration() / seekBar.getMax();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar)
{
Log.e("mediaPlayer", "mediaPlayer onStartTrackingTouch");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar)
{
this.player.mediaPlayer.seekTo(this.progress);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ( keyCode == KeyEvent.KEYCODE_BACK)
{
if (null != this.player && null != this.player.mediaPlayer)
{
this.player.mediaPlayer.stop();
this.player.mediaPlayer.release();
this.finish();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
}
{
private ImageView btnPause, btnPlay, btnStop;
private SurfaceView surfaceView;
private SeekBar skbProgress;
private PlayerVideo player;
private int progress;
@Override
protected void onCreate(Bundle instance)
{
super.onCreate(instance);
setContentView(R.layout.player);
// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //切换屏幕
initResource();
setOnClickListenner();
}
/*
* set onclick listenner
*/
private void setOnClickListenner()
{
this.btnPlay.setOnClickListener(this);
this.btnPause.setOnClickListener(this);
this.btnStop.setOnClickListener(this);
this.skbProgress.setOnSeekBarChangeListener(this);
this.player = new PlayerVideo(surfaceView, skbProgress);
}
/*
* init resource
*/
private void initResource()
{
this.surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);
this.btnPlay = (ImageView) this.findViewById(R.id.btnPlay);
this.btnPause = (ImageView) this.findViewById(R.id.btnPause);
this.btnStop = (ImageView) this.findViewById(R.id.btnStop);
this.skbProgress = (SeekBar) this.findViewById(R.id.skbProgress);
}
@Override
public void onClick(View view)
{
if (view == btnPause)
{
this.player.pause();
}
else if (view == btnPlay)
{
String url = "/sdcard/shaonv1.3gp";
this.player.playUrl(url);
}
else if (view == btnStop)
{
this.player.stop();
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
{
// TODO Auto-generated method stub
this.progress = progress * player.mediaPlayer.getDuration() / seekBar.getMax();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar)
{
Log.e("mediaPlayer", "mediaPlayer onStartTrackingTouch");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar)
{
this.player.mediaPlayer.seekTo(this.progress);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ( keyCode == KeyEvent.KEYCODE_BACK)
{
if (null != this.player && null != this.player.mediaPlayer)
{
this.player.mediaPlayer.stop();
this.player.mediaPlayer.release();
this.finish();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
}
Android视频播放器UI控制
本文介绍了一个基于Android平台的视频播放器应用实现方案。该应用通过定义一系列UI元素(如按钮和进度条),实现了视频的基本操作(播放、暂停、停止及进度调整)。此外,还实现了返回键的监听,用于释放资源并关闭应用。
3633

被折叠的 条评论
为什么被折叠?



