美文网首页
《WMPageController》中加入阿里云播放器适配问题

《WMPageController》中加入阿里云播放器适配问题

作者: 还我泡泡圈 | 来源:发表于2019-06-21 11:13 被阅读0次

注意:如果你用的原生的播放列表,此文章可能会与您不相符。

讲一下应用场景,相信大家一些视频更多,还有相关很多用Web写的。JS交互。而我用的是dsBridge来做的Web交互。

在命名空间里,后台web点击,后台调用我的打开视频页面的方法如下:

dsBridge跳转block进入

如上图中,在web进入WMPageController的子控制器里,我们用navigationController跳转过去,但是会遇到一个问题。那就是传courseId与courseWareId的时候,页面走完了,这个值最后才传过去。因为DS的原因,走的是block方法调用,所以说不像原生的导航跳转。

会造成在WMPageController中头视图中的阿里云播放器横屏出现差错。

web的页面

点击后进入WMPageController写的控制器里

播放页面

我们都知道在阿里云播放器中有一个代理方法

阿里云播放器代理方法

上图中 self.menuItemWidth是宽度,把scrollView隐藏掉。

好吧,有点蠢,这个方法,也是没办法中的办法。😂。

   这个顺序。就能解决此问题。不知道有没有其他的好办法,有的话,请联系我,想学习请教一下。

就能解决WMPageController在横屏后在阿里云播放器上面的结果:一下是错位示范

错位后的展示、

上图是放大后的错误示范。

调整后的

正确页面

呐呐呐

兄弟们,再多说一笔,就是用navigationcontroller在push过来页面全屏,你需要这个

横屏时候需要打开这个 打开横屏 关闭横屏时候需要这个,我是把关闭写在返回按钮代理事件里了。

二:区别于上方,我们省劲儿,后台费劲儿的方法,合作开发。

以上是自己写的视频方法,下面我说的是与WMPgeController无关的一种方法,但是却没有问题的一种。就是JS交互用DS写的方法。

思路是:我们创建一个DS里的DWKWebView,然后在webview的头视图上加入阿里云播放器。这样,下面的 “简介”,“章节”,“评论”。都是在web上写的,与我们无关了,点击web,做好JS交互就可以了。

思路:

webview的位置 dwkWebView的位置 代理方法中的判断

上面这种JS交互写的方法,全屏没有任何问题,就是不爽的是,评论与章节还有简介等,都是后台开发的。比如,后台点击web调用我们方法,我们得写很多接收类,但也省心,处理都是后台处理,数据不走我们这里。

第一种方法,如果有更好的解决方案,请联系我,谢谢您的观看。

相关文章

网友评论

      本文标题:《WMPageController》中加入阿里云播放器适配问题

      本文链接:https://www.haomeiwen.com/subject/xnieqctx.html