lfh
lfh
个人觉得,如何提高项目的关注度,才是重中之重,不可否认,国外有非常非常多的优秀课程,但也不可否认,这里的每个人,或者是时间精力有限,或者是能力有限(比如我),但是大家都希望可以通过某种方式参与进来,这是好事。 建议有经验有能力者能写一份更为详细的教程,例如如何用github参与到这个项目里来,每一步步骤怎么做,使用什么软件,或者什么方式进行翻译,翻译之后怎么提交,每一步写清楚,这或者会对许多人有帮助,起码我是第一次用github参与到翻译项目,很多都是自己瞎蒙的,有这么一份东西,会让门槛更低。 另外,如何推广,让更多翻译者参与进来,我觉得可以结合免费或者收费形式,邀请一些专业翻译团队进驻,这可能可以大幅度提高翻译速度和质量,至于费用,我觉得可以让有能力有心之人捐助,产生一个贡献列表,记录每个账号的捐助情况,以及费用的一个大致流向(例如用在支付某些专业翻译的费用上),费用统一由字幕组管理人员管理,前期可能不需要监管,由管理者把费用的流向简单罗列即可,至于后期费用到达一定规模,可以参考一些专业募捐网站,由系统自动监管资金的流向(这个可能需要更专业的人士给出意见)。 至于是否贡献名单是否体现在字幕上,个人觉得并没有太大所谓,或者只放一个来源地址即可(从课程0秒开始,一直到有字幕为止)。 可能引入收费翻译,不知道是否有人会持反对意见,个人认为,这个世界上,有高尚的无偿付出着,也有这令人尊敬的有偿劳动者,毕竟通过某些共同兴趣(课程)聚到一起的人毕竟是少数,而且每个新课程的产生,都需要组织者花费大量的精力推广号召,这可能不是长久之计。如果能通过建立一个募捐的形式,把这种的知识引进方式持续的运转下去,或者是个良性发展。 个人是非常希望参与到这样的事情里来,也希望这样的民间组织能够自发运转良好。
May be you can download m3u8 file first, and then use [flutter_hls_parser](https://pub.dev/packages/flutter_hls_parser) to parse m3u8 file, and get the media url from m3u8 file. after that, you can download the...
> Hi, @lianfanghua The **better_player** supports cache option while playing the HLS video? Yes, you can see better_player's [office documentation](https://jhomlala.github.io/betterplayer/#/cacheconfiguration) about caching. At the tail of the document, there is...
But better_player only provides a caching solution, not an Offline solution, if you want users to be able to download HLS media manually, you still have to provide it yourself.
> @lianfanghua Thanks for everything.You are the best! do you know how to implement hls download like Netflix or YouTube whereby users can watch the movies in app. I don't...
> 可否来 2 个视频,1个是现在的动画样式,1个是你参考的其他动画样式,动画使用文字描述无法精准理解,iOS 这个动画我觉得目前还好呢,是默认的也参考了其他几个 App 感谢回复,我录制了一段视频,重新启动了3次应用,有3个行为: 1、加载无广告(no ads); 2、正常加载广告并倒计时结束关闭广告; 3、广告被点击(点击后无法关闭); https://user-images.githubusercontent.com/12154736/139396337-617c2286-e5c2-44ef-8490-b1569a57d10d.mp4 我的加载逻辑如下: 1、启动的闪屏页,Container时有背景图片的(品牌宣传); 2、initState时initAds,初始化成功就加载广告;初始化失败就倒计时3秒,倒计时结束后关闭闪屏页进入首页; 3、加载广告后按照正常流程展示、倒计时、关闭,广告关闭后回调,关闭闪屏页进入首页; 4、广告被点击,关闭闪屏页,进入首页,同时广告会打开广告详情页,关闭广告详情页后,闪屏页应该是关闭了并停留在首页(目前无法实现); 其中体现了3个问题: 1、广告加载失败(no ads),还是会先加载广告容器(白屏),再关闭,导致闪屏一次; 2、广告加载成功,倒计时结束了,广告下滑退出(短暂白屏),并回到系统闪屏页后,然后立即退出闪屏页,然后进入首页,导致页面场景变化太大了; 3、广告被点击后,广告一直卡着,广告倒计时也停了,广告也无法关闭,后面整个流程都卡住了;
> 对于问题1和问题2,建议在程序启动后单独去判断是否需要展示广告,开屏比较特殊,看你目前的状态是在 `initState` 中初始化的并且显示的广告,建议在 `runApp` 之前就初始化广告,但是这里走异步不要同步,不然会卡 Flutter 容器的初始化 这里也是有原因的,因为工信部要求必须用户同意隐私政策后,其他东西才允许初始化,所以用户首次使用,是有一个确认弹窗,用户确认后,才开始初始化的。 这部分逻辑我都是在闪屏页进行的,闪屏页打开,判断本地缓存是否已同意隐私政策,同意的话开始加载广告及其他初始化,否则的话就退出程序。
> 我看到视频中有 2 个启动页,一个是默认的,一个是广告的,后面可能会增加 #11 方式,方便自主设置 基于上面的逻辑,用户确认隐私政策后才进行其他初始化,因此肯定是有一个默认启动页。 然后广告是在默认广告页之上加载弹出的,然后就导致了之前的问题产生。
但是点击广告弹出详情页后,返回到广告页,倒计时卡死是什么问题呢?
> > > 对于问题1和问题2,建议在程序启动后单独去判断是否需要展示广告,开屏比较特殊,看你目前的状态是在 `initState` 中初始化的并且显示的广告,建议在 `runApp` 之前就初始化广告,但是这里走异步不要同步,不然会卡 Flutter 容器的初始化 > > > > > > 这里也是有原因的,因为工信部要求必须用户同意隐私政策后,其他东西才允许初始化,所以用户首次使用,是有一个确认弹窗,用户确认后,才开始初始化的。 > > > > > > 这部分逻辑我都是在闪屏页进行的,闪屏页打开,判断本地缓存是否已同意隐私政策,同意的话开始加载广告及其他初始化,否则的话就退出程序。 > > > > 我们也是有这个逻辑,但是如果没有登录就说明没有必要展示广告(首次就展示广告体验也不好),登录信息存在缓存信息,判断是否有缓存信息在初始化和UI以及操作是没有关系的 逻辑是类似的,但问题在于就像我录制的视频,没广告会白屏,体验不太好,我在考虑能不能用另外一个页面包装广告,等到广告加载成功再通知显示,不过这样势必增加业务复杂性