mediaplayer播放视频

1:初始化需要处理的类和控件

   mediaPlayer = new MediaPlayer();//定义一个mediapayer实例

   surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);//

   surfaceView.getHolder().setFixedSize(400, 400);//设置一个显示的高和宽
  surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);//设置显示的为缓冲数据
  surfaceView.getHolder().addCallback(new callback());//设置一个显示回调的接口

2:在回调显示中surfaceCreated(SurfaceHolder holder)

   if(postion!=0&&path!=null)//最开始不启动播放。
   {
        play();//播放视频
        mediaPlayer.seekTo(postion);//定位到之前播放的位置
        postion=0;//将播放位置重置为0
    }

    

      private void play()
     {
            file=path+File.separator+"Videos"+File.separator+"vidio.mp4";//数据源的文件
            mediaPlayer.reset();
            try
            {
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);//设置流的类型
                mediaPlayer.setDisplay(surfaceView.getHolder());//设置显示的区域
                mediaPlayer.setDataSource(file);//设置数据源
                mediaPlayer.prepare();//准备资源
                 mediaPlayer.start();//启动资源播放
              } catch (Exception e)
          {
                  // TODO Auto-generated catch block
                   e.printStackTrace();
             }
        }

  

3 :销毁时候调用surfaceDestroyed(SurfaceHolder holder)

       if(mediaPlayer.isPlaying())
      {
                postion=mediaPlayer.getCurrentPosition();
                mediaPlayer.stop();
     }

 

4:几个按钮的相应和处理

   (1)播放

      if(!mediaPlayer.isPlaying())
     {
          play();
     }

 (2)停止

    if(mediaPlayer.isPlaying())
    {
        mediaPlayer.stop();
    }

 (3)暂停

   if(mediaPlayer.isPlaying())
    {
     mediaPlayer.pause();
    }
    else {
        mediaPlayer.start();
    }

 (4)重置

  if(mediaPlayer.isPlaying())
    {
     mediaPlayer.seekTo(0);
    }
    else {
     play();
    }

  

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值