Chimeejs / chimee-mobile-player

这是基于chimee集成的一套您可以直接使用的HTML5移动端播放器,提供有了默认样式。
179 stars 125 forks source link

ios打包后的APP全屏后显示原生控件 #16

Closed aoilti closed 5 years ago

aoilti commented 6 years ago

Q: 使用cordova将chimee打包进APP后,在播放调用的时,ios全屏状态下无法屏蔽原生控件

UA信息:Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B150 (4306536368)

配置项:

{
    wrapper: "#wrap-video", 
    src: url,
    autoplay: false,
    controls: true,
    playsInline: true,
    preload: true,
    x5VideoPlayerFullscreen: false,
    x5VideoOrientation: "landscape",
    xWebkitAirplay: true,
    muted: false
}

展示效果: image image

toxic-johann commented 6 years ago

可以尝试使用 css 全屏的方法 代替么?

在引入 chimee 前加入如下代码。

import esFullscreen from 'es-fullscreen';

esFullscreen.useStyleFirst = true;

在接下来的小版本我们会考虑在 chimee 上开放这个配置项。

在以后我们会引入 canvas 来解决这种机型不统一的问题。

aoilti commented 6 years ago

经过测试,不行。

emmm,我查看了苹果关于video的开发者文档,他是这么说的: iOS Note: On iOS, full-screen videos can only display the default controls.

文档地址

toxic-johann commented 6 years ago

不全屏的时候应该是可以看到插件的吧。

使用 css 全屏应该可以规避。

aoilti commented 6 years ago

可以了。

上午失败的原因是因为我用cordova打包出的APP在ios里的video标签上加入webkit-playsinline属性不生效。这就导致了我一点击播放还是全屏,而后依然显示原生控件。

解决这个问题需要在cordova打包的项目中的config.xml里加入<preference name="AllowInlineMediaPlayback" value="true" />这个配置,加入后再按照上面的引入esFullscreen配置一下就可以了。现在的问题是全屏后我的头部导航还在,emm...现在我要去改这个bug去了,谢谢你的解决方案@toxic-johann

toxic-johann commented 6 years ago

如果 playsinline 生效的话应该不需要使用 esFullscreen 设置样式全屏,全屏可以直接生效的。

toxic-johann commented 6 years ago

如果使用的是 chimee ,可以下载 chimee 的 alpha 版本来配置。详细配置方法见链接: https://github.com/Chimeejs/chimee/releases/tag/0.10.0-alpha.4

zyg-github commented 6 years ago

搭个车 问题个问题 在 wkwebview(已经设置了allowsInlineMediaPlayback = YES) 上用 chimee-mobile-player 可以内联播放 但是点击全屏播放 控制调不显示

aoilti commented 6 years ago

兄dei,贴一下设置。config.xml的和你初始化播放器的,还有你出问题的机型

zyg-github commented 6 years ago

var player = new ChimeeMobilePlayer({ wrapper: '#wrapper', // video dom容器 src: './venom.mov', controls: true, playsInline: true, preload: true, }); 没有config.xml 是原生的 wkwebview 模拟器 ios11 iphonex

zyg-github commented 6 years ago

@Zhang1051127659 全屏是全屏了 不过 没有控制条而已

aoilti commented 6 years ago

@zyg-github 老铁,这个恕我没能复现出来。我在真机调试和模拟器调试都是可以的。

zyg-github commented 6 years ago

@Zhang1051127659 找到问题了 是客户端的锅 打扰了 谢谢