Android的MediaPlayer—2

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); 
    }
   
}

猜你喜欢

转载自mickey-hou.iteye.com/blog/1746490