使用Android Webview,如何将MediaPlayer的控制权传递给活动
我有一个应用程序,其中的活动加载一个网络视图,其中有视频播放 我的最终目标是在webview的背景下播放媒体,这与Chrome现在所做的差不多 以下是设备解锁时chrome运行此逻辑的屏幕截图: 下面是设备锁定时播放的同一视频的屏幕截图: 我已经用自定义的使用Android Webview,如何将MediaPlayer的控制权传递给活动,android,android-webview,android-mediaplayer,Android,Android Webview,Android Mediaplayer,我有一个应用程序,其中的活动加载一个网络视图,其中有视频播放 我的最终目标是在webview的背景下播放媒体,这与Chrome现在所做的差不多 以下是设备解锁时chrome运行此逻辑的屏幕截图: 下面是设备锁定时播放的同一视频的屏幕截图: 我已经用自定义的ChromeClient设置了我的webview,它已经覆盖了我需要的MediaPlayer方法 public class MyCustomChromeClient extends WebChromeClient implements
ChromeClient
设置了我的webview,它已经覆盖了我需要的MediaPlayer方法
public class MyCustomChromeClient extends WebChromeClient implements
MediaPlayer.OnCompletionListener, MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener{
private MediaPlayer mp;
@Override
public void onCompletion(MediaPlayer mp) {
if (this.mp != null) {
this.mp.release();
} else {
mp.release();
}
}
@Override
public void onPrepared(MediaPlayer mp) {
this.mp = mp;
//Utilizing this MediaPlayer Here
}
@Override
public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
//Handle Error stuff here
return false;
}
}
我已经学习了多个关于这个主题的教程,虽然我掌握了大部分的逻辑,但我不知道如何实际控制媒体播放器,以便从Chrome拦截它,并让我的代码接管播放、暂停和停止功能
以下是我一直使用的一些参考资料:
几乎所有这些都解决了如何做我想做的大部分事情,但拦截MediaPlayer并阻止它播放或暂停(除非通过我的转发命令)的核心问题不在其中
我如何为自己的网络视图重新创建Chrome的背景媒体播放器选项,或者,如果不可能,我可以通过一些界面与Chrome的内置媒体播放器进行交互?
更新:
因此,在普通的chrome浏览器上查看同一个页面实际上符合我的要求;它播放视频/音频,并允许在后台继续播放。因此,下一个合乎逻辑的后续问题是,我在Webview中到底做了什么,导致它在本机chrome浏览器上工作,而不是在我的应用程序上工作?有什么我可以忽略的东西可以做到这一点吗