android - 使用delphi在Android下的TWebbrowser中全屏观看youtube或其他视频时出现问题
问题描述
我正在使用delphi FMX和TWebbrowser为android做一个应用程序,用户将从列表视图中选择一个视频,然后在TWebbrowser控件中播放视频,我面临的问题是,即使视频是youtube视频例如,我按下最大化符号,视频不会全屏显示,没有任何变化。是解决方法还是我做错了什么。谢谢。我正在使用德尔福 10.3.3
解决方案
您没有做错任何事情 - TWebBrowser 需要使用实现某些方法的 WebChromeClient 的后代(必须在 Java 中完成),根据本文:
https://medium.com/@oliverdamjan2013/fullscreen-youtube-video-in-webview-android-21f1c778cf56
我在这个演示中做了类似的事情:
https://github.com/DelphiWorlds/Kastri/tree/master/Demos/WebBrowserFileChooser
它利用了实现 onShowFileChooser 的 WebChromeClient 的后代。包含 Java 代码的文件夹在这里:
https://github.com/DelphiWorlds/Kastri/tree/master/Java/WebChromeClient
根据链接到的其他文章,可以扩展代码以实现必要的方法(onShowCustomView 等)。
编辑 2020 年 11 月 10 日
我现在更新了底层 Java 代码并在此处更新了演示:
https://github.com/DelphiWorlds/Kastri/tree/master/Demos/WebBrowserFileChooser
(而不是创建一个全新的演示)
支持全屏观看 YouTube 视频。请注意,演示依赖于 Kastri 库中的文件
推荐阅读
- sed - 如何使用 sed 替换包含括号的字符串
- python - 从灰度图像中删除 Alpha 通道
- google-chrome-extension - Chrome扩展后台脚本成多个脚本-manifest v3
- python - 如何使用 nix-shell 从 PyPi 安装 playwright?
- asp.net-core - 在 .net core 3.1 中找不到类型或命名空间名称“MvcJsonOptions”
- git - GitBash 可以克隆和拉取但不能推送,它什么都不显示,而 GitDesktop 可以
- .net - 输出 DIR 中未生成 Nupkg 文件
- c++ - 在 C++ 中缓存图像。使用 buffer_body 或其他东西而不是 file_body?
- php - 在 List.js 中显示 MySQL 查询结果不与分页同步并选择否。每页项目数
- google-bigquery - BigQuery 中 last_modified_timestamp 的含义是什么