Android MediaPlayer

1、实现点击屏幕出现控制按钮,再次点击隐藏按钮。并可以自动隐藏按钮。

public void show(int timeout) {

if (!mShowing) {

top_framelayout.setVisibility(View.VISIBLE);

bottom_framelayout.setVisibility(View.VISIBLE);

mShowing = true;

}

if (timeout != 0) {

Message msg = mHandler.obtainMessage(FADE_OUT);

mHandler.removeMessages(FADE_OUT);

mHandler.sendMessageDelayed(msg, timeout);

}

}


public void hide() {

if (mShowing) {

top_framelayout.setVisibility(View.GONE);

bottom_framelayout.setVisibility(View.GONE);

mShowing = false;

}

}


private Handler mHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

switch (msg.what) {

case FADE_OUT:

hide();

break;

}

}

};


private void toggleMediaControlsVisiblity() {

if (mShowing) {

hide();

} else {

show(sDefaultTimeout);

}

}


// 手势类

public class MySimpleOnGestureListener extends SimpleOnGestureListener {

@Override

public boolean onSingleTapUp(MotionEvent e) {

toggleMediaControlsVisiblity();

return super.onSingleTapUp(e);

}

}

@Override

public boolean onTouchEvent(MotionEvent event) {

return mGestureDetector.onTouchEvent(event);

}

以上实现方式参考了:VideoView源码及其MediaController的源码。

2、

使用MediaPlayer视频播放的时候,直接把拖动条拖动到最后,然后再往回拖动,这时奇葩的事情发生了:视频界面更换了,但是不能播放了,这是怎么回事呢?用VideoView就不会出现这个问题。差距在哪里?

关于点击seekbar可以看到画面但是不能播放的问题, 我认为你使用seekto是需要为mediaPlayer添加OnSeekCompleteListener,因为seekto是个异步方法
mediaPlayer.setOnSeekCompleteListener(new OnSeekCompleteListener() {  
    public void onSeekComplete(MediaPlayer m) {  
        m.start();  
        //isPlaying = true;  
    }  
});  
















转载于:https://my.oschina.net/u/1389206/blog/667037

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值