OR博客
登录
MediaController显示的时候返回键无效
苗锦洲
创建于:
2020-08-10 12:59:51
0
30
273
0
最近在开发APP的时候涉及到视频播放,用的自带的VideoView和MediaController实现的,不过发现一个小问题,当底部的MediaController显示的时候返回键无效,试了重写onBackPress、dispatchKeyEvent等,返回键按下的时候没有一个被触发,百度基本找不到这种问题,大部分都是自定义控制条了,随后去stackoverflow上搜了一下,还是有好多一样问题的,不过上面的回答我都试了,基本都是重写dispatchKeyEvent、onBackPress等,我这边触发不了这几个方法,所以都不行。
安卓开发
Kotlin
VideoView
MediaController
友情提示:
此篇文章大约需要阅读
3分27秒
# 问题描述 最近在开发APP的时候涉及到视频播放,用的自带的VideoView和MediaController实现的,不过发现一个小问题,当底部的MediaController显示的时候返回键无效,试了重写onBackPress、dispatchKeyEvent等,返回键按下的时候没有一个被触发,百度基本找不到这种问题,大部分都是自定义控制条了,随后去stackoverflow上搜了一下,还是有好多一样问题的,不过上面的回答我都试了,基本都是重写dispatchKeyEvent、onBackPress等,我这边触发不了这几个方法,所以都不行。 ## 可以一直显示的MyMediaController 默认的MediaController会自动隐藏,重写show方法就行了 ``` inner class MyMediaController(context: Context) : MediaController(context) { override fun show(timeout: Int) { super.show(0) } override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { Log.d(TAG, "onKeyDown") return super.onKeyDown(keyCode, event) } override fun dispatchKeyShortcutEvent(event: KeyEvent?): Boolean { Log.d(TAG, "dispatchKeyShortcutEvent") return super.dispatchKeyShortcutEvent(event) } override fun dispatchKeyEventPreIme(event: KeyEvent?): Boolean { Log.d(TAG, "dispatchKeyEventPreIme") return super.dispatchKeyEventPreIme(event) } override fun dispatchKeyEvent(event: KeyEvent?): Boolean { Log.d(TAG, "dispatchKeyEvent") return if (event?.keyCode == KeyEvent.KEYCODE_BACK) { hide() finish() true } else super.dispatchKeyEvent(event) } } ``` # 暂定的解决方法 如果视频大于2s就在第一次播放后的第二秒隐藏MediaController,然后点击视频切换手动显示/隐藏 [========] # 参考链接 [android - Make MediaController show without hide - Stack Overflow](https://stackoverflow.com/questions/8515760/make-mediacontroller-show-without-hide?r=SearchResults) [CSDN上也有一个跟Stack Overflow一样的,只不过是翻译过来的](https://ask.csdn.net/questions/11037?sort=latest "CSDN上也有一个跟上面Stack Overflow那个一样的问答,只不过是翻译过来的")
本文作者:
苗锦洲
本文链接:
版权声明:
本文为OrdinaryRoad博客博主 苗锦洲 的原创文章,遵循
CC BY-SA 4.0
许可协议,转载请附上本文链接及本声明。
上一篇
《剑指Offer》读书小记
下一篇
《Java高并发程序设计》读书小记
评论
楼主暂时不想被别人评论哦~
回复
已自动恢复阅读位置、日/夜间模式参数
从头开始