gedoor / legado

Legado 3.0 Book Reader with powerful controls & full functions❤️阅读3.0, 阅读是一款可以自定义来源阅读网络内容的工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验。
GNU General Public License v3.0
29.14k stars 3.86k forks source link

听书功能优化 #4036

Closed CCSSN closed 3 weeks ago

CCSSN commented 3 months ago

确认 / Assignments

功能描述 / Features

从易到难 1.段前分页 2.看&读分离 3.朗读预加载

期望实现方式 / How to implement

实现从简到难

  1. 提供段前分页功能,如果有原本一段在两页都有一点,那就只显示在后一页。只需增加这个功能开关即可解决读到后面而看不到文字的问题。
  2. 看&读分离功能,新增这个功能开关,这样翻页就不用打断阅读,还可以搭配快捷键,双击某段就从某段开始读(同番茄),听书的时候没听清经常习惯回看一下。
  3. 朗读预加载功能,这个应该不太好实现。。

附加信息 / Additions

效果演示 / Demo

821938089 commented 3 months ago

读到后面不跳转下一页是因为你用的系统tts朗读,用网络tts可以正常跳转下一页,你也可以开启按页朗读,这样就都可以跳转下一页 有预加载功能,会预加载本章朗读内容,这个仅限网络tts,系统tts的预加载要在tts应用里处理,这个与阅读无关

Leroy-X commented 2 months ago

我用的滚动翻页,听不清往前滚着就看就可以了,九宫格设置朗读上一段,直接点重读上一段,爽歪歪

GeminiX369 commented 2 months ago

读到后面不跳转下一页是因为你用的系统tts朗读,用网络tts可以正常跳转下一页,你也可以开启按页朗读,这样就都可以跳转下一页 有预加载功能,会预加载本章朗读内容,这个仅限网络tts,系统tts的预加载要在tts应用里处理,这个与阅读无关

当前朗读高亮的文本和实际朗读内容不同步,是因为阅读没有处理TTS返回的错误。看起来tts返回成功时,光标会往下;tts返回错误时,没有进行任何处理。对于这段示例文本:

For all its comforts, though, his cell remained a cell. 
顾息把手一挥,四名幽灵就飞向了小屋那边。
His belly was rumbling, 
而在顾息的身后,死亡城市的大门也正缓缓地出现。
a sure sign that the morning was creeping past, and still no sign of food. 
顾息担心这里出了什么事。所以早早地做好了战斗准备。
The worst part is not the dying, it’s not knowing when or how. 

用一个只支持英文的发音人(全部中文时返回错误),例如火山翻译中随便一个英文发音人,会发现只有再遇到英文段落时光标往下,中文段落时光标不动。使用静读天下没有这个问题。

821938089 commented 2 months ago

@GeminiX369 你用的是什么tts

GeminiX369 commented 2 months ago

@GeminiX369 你用的是什么tts

MultiTTS,它的火山翻译英文发音人在尝试让它朗读中文时,会直接报错。大部分引擎朗读不支持语言的文本时会直接跳过

821938089 commented 2 months ago

@GeminiX369 已修复,试试最新测试版

GeminiX369 commented 2 months ago

@GeminiX369 已修复,试试最新测试版

第一个错误光标能继续往下移,之后遇到的错误还是不行

821938089 commented 2 months ago

@GeminiX369 给段测试文本

GeminiX369 commented 2 months ago

@GeminiX369 给段测试文本

就我第一次回复的那段

821938089 commented 2 months ago

@GeminiX369 我测试没问题啊,你确定是最新测试版吗?就刚刚更新的

GeminiX369 commented 2 months ago

@GeminiX369 我测试没问题啊,你确定是最新测试版吗?就刚刚更新的

我重新下载测试了一边,和之前一样。好像是我误解了,第一个错误也不行,遇到错误光标就不会往下

821938089 commented 2 months ago

@GeminiX369 你发下版本号,录个屏看看

821938089 commented 2 months ago

@GeminiX369 你去我的-关于那里点击保存日志,然后上传上来

GeminiX369 commented 2 months ago

@GeminiX369 你去我的-关于那里点击保存日志,然后上传上来

logs.zip文件?里面倒是有日志文件,但全是空的,包括今天的,全是0B大小。

821938089 commented 2 months ago

@GeminiX369 去其他设置里打开记录日志,然后再读一遍,保存日志

GeminiX369 commented 2 months ago

@GeminiX369 去其他设置里打开记录日志,然后再读一遍,保存日志

重新试了两次,依旧是空的。这是调用系统TTS,不是网络TTS,网络TTS我记得是会记录错误日志的

821938089 commented 2 months ago

@GeminiX369 系统TTS也有记录日志,你重新打开一下软件试试

GeminiX369 commented 2 months ago

@GeminiX369 系统TTS也有记录日志,你重新打开一下软件试试

有了 logs.zip

821938089 commented 2 months ago

@GeminiX369 这是MultiTTS的问题,朗读出错时它没有调用错误回调,阅读不知道出错了 我用的是最新版的1.5.6.1,朗读出错时会调用错误回调,是没有问题的,你可以升级MultiTTS解决

821938089 commented 2 months ago

@GeminiX369 更新一下最新的测试版看看

GeminiX369 commented 2 months ago

@GeminiX369 更新一下最新的测试版看看

好了,感谢

github-actions[bot] commented 1 month ago

由于长期没有状态更新,该问题将于5天后自动关闭。如有需要可重新打开。