我在想是否有可能为 Android 编写一个应用程序,它允许用户从网站下载 Flash 视频,而无需让用户在浏览器中手动开始播放每个视频。该应用程序还应该适用于任何播放 Flash 视频的网站,而不仅仅是某些特定网站。该应用程序不需要root。
在做了很多功课和谷歌搜索之后,我得出的结论是这样的应用程序是不可能的,但我只是希望更有经验的人来确认这一点(或者如果我错了,可能会建议解决方法)。
这样的应用程序如何(理论上,理想地)工作:
该应用程序启动一个在后台线程中运行的服务,甚至不需要打开的活动。
该服务加载视频所在的网页(html文件)
该应用程序解析页面以找到通常播放视频的 .swf 文件
该应用程序以某种方式向 swf 文件中的操作脚本发送虚假点击,就好像用户按下“播放”一样
片刻之后,应用程序检查 webview 的缓存(但是,没有向用户显示任何活动)。如果缓存中有任何 .flv 文件,它会将它们复制到 SD 卡上的某个文件夹中
在这个方案中,很多事情可能会失败:
在 3:我不确定是否可以模拟单击 swf 文件的“播放”按钮,特别是如果我们不知道我们在哪个确切网站上(我们希望该应用程序可以在任何网站上运行)并且网站使用自己的,自定义编写的swf flash播放器。此外,如果我们甚至没有正在运行的活动,我也不确定 .swf 文件是否会处于可以接收输入的状态
在 4:网络缓存存储在 /data/data/app_package_name/cache/webViewCacheChromium 下,即使应用程序本身(?)也无法访问此文件夹,除非手机已植根。
我想就是这样,所以应该不可能制作这样的应用程序。
顺便说一句,Google Chrome 的 FVD 扩展程序是否通过扫描 Chrome 浏览器缓存来获取 FLV 文件?
谢谢!
编辑:我知道 Youtube 现在使用 html5,我不想下载 Youtube 视频。
编辑:我见过适用于特定网站(例如 Youtube)的应用程序,但制作这样的应用程序是不可行的,因为网站改变了它们提供 flv 文件作为基本防御的方式。我的问题是关于开始假播放并获取已经在缓存中的视频文件。