Android MediaPlayer
2019獨角獸企業重金招聘Python工程師標準>>>
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
總結
以上是生活随笔為你收集整理的Android MediaPlayer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS获取浏览器高度 并赋值给类
- 下一篇: Hadoop2.6.0子项目hadoop