ErBW_s
ErBW_s
的确加载的时候会卡顿一下,不过作为目前的临时方案我认为可以被接受 后续可以再对 webview 进行修改,现在还有别的部分需要进行修改
> 哇塞,大佬们这么快找到解决办法了,我可以用平板试试,手机应该也能弄到,要改哪些位置呀 我 fork 的仓库有一个 feat-ohos 的分支,主要需要修改 [webview_controller_impel.dart](https://github.com/ErBWs/Kazumi/commit/c73c35b7f8f2d16c0b26f9952c72c03137eb50e4#diff-ac564bbb3e4877b32594857d7e4c65859378219a3edcb0e260c619522938f3c4) 和 [video_page.dart](https://github.com/ErBWs/Kazumi/commit/c73c35b7f8f2d16c0b26f9952c72c03137eb50e4#diff-4c58867db8bc48ebf20b4f37f95dc0acc975dc28ea83f4414de04137c20fd9e9)。现在还有一堆问题没修,虚拟机不支持 FloatingActionButton 和 impeller-vulkan,开发起来太麻烦了
> 这部分的其实存在问题,高度为1的组件需要正常渲染,PlatformView 的性能开销很高,修改后程序会在播放器页面额外消耗 webview 渲染的资源。 > > webview_windows 没有这一问题是因为在 native 部分做了修改,在高度为1时不执行渲染。 > > 现在好像没有可靠的CI可以实现hap构建 我查阅了一下华为官方[文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#runjavascript),有这样的描述 > **说明** > 离屏组件不会触发runJavaScript接口。 我不清楚有没有办法能做到不渲染运行 js 脚本,参照 windows_webview 但我没找到从哪里传递的渲染区域大小,现在只能至少渲染 1x1 的色块来保证视频解析和播放。 目前完成度应该足够发布一个版本了
目前我的仓库就是这样两个分支 实际上主仓库很难短期内迁移适配 flutter_ohos,因为需要使用不同的 pubspec.yaml,而且 media_kit 的 ohos 插件还处于开发中 华为有流水线相关文档,ci 可以实现不过可能要花些时间而且很大概率是无签名版本
ci 做不了,没有办法稳定获取 Command Line Tools for HarmonyOS,除非把他直接上传到仓库里( 甚至还可能有 linux 的国家码不是中国区导致的错误
@Predidit 最新的发行版1.4.0中这条的Contributor写错了
我尝试在 girlgirlLove 上复现这个错误,然后得到了这个错误: ``` Player inent error. Video cannot be fast-forwarded beyond 2.0x https://love.girigirilove.com/zijian/anime/2024/07/0728/InuYashaTheFinalAct/01/playlist.m3u8 ``` 通过搜索我发现在 [setPlaybackSpeed method](https://pub.dev/documentation/video_player/latest/video_player/VideoPlayerController/setPlaybackSpeed.html) 文档中有这样一段文字: > On iOS, you can sometimes not go above `2.0` playback...
> @ErBWs > > 我们是否可以确认这一错误导致了视频比例问题。在倍速为 2.0 时, 视频比例是否正确。 > > 如果可以确认的话,也许我们可以在全平台不再提供 2.0 以上的倍速选项。此外我们应该在对应位置添加注释。 2.0 时比例正确,基本可以确认是这个错误导致的比例错误
@Predidit 另外还找到一种解决办法,将 macOS/iOS 的硬件解码配置为 [VT](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#vt),使用 Apple 的 Video Toolbox 进行硬件解码,可以解决这些问题: 1. 播放倍速问题 2. macOS 硬件解码会出现帧表现错误,如跳帧、重复帧 3. #238
> @Predidit 另外还找到一种解决办法,将 macOS/iOS 的硬件解码配置为 [VT](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#vt),使用 Apple 的 Video Toolbox 进行硬件解码,可以解决这些问题: > > 1. 播放倍速问题 > 2. macOS 硬件解码会出现帧表现错误,如跳帧、重复帧 > 3. [[Bug]: 某些番必须用软件解码才能使用内置播放器(ios) #238](https://github.com/Predidit/Kazumi/issues/238) 看来这个问题有点复杂,或许我应该单独打开一个关于第2个问题的 issue 来讨论