Re: GBReader 簡體中文報讀機 #附加元件

Sponge Jhan
 

Hi 高老師:

> 我正需要攔截 speaktext() 的 text 來先做處理在還給它,請問有沒有實做的城市馬可以給我觀摩?
是 speech 模組下的 speakText 嗎?
可以先載入該模組:

import speech

注意不是 from speech import speakText
然後自己寫一個 speakText 如下:

old_speakText = speech.speakText # 先把原本的 speakText 保留下來
def my_speakText(text, *args, **kwargs):
  # 自己的前處理
  return old_speakText(text, *args, **kwargs)

為了保留排版,我上面用了全形空白,請留意
以上的 *args, **kwargs 是預留彈性,為避免 NVDA 日後增加新參數導致附加元件失效
注意 return 使用的是 old_speakText 而非 speech.speakText, 因為 speech.speakText 已經變成自己的實作
之後,可以用 speech.speakText = my_speakText 覆蓋原本的實作,也可以用 speech.speakText = old_speakText 還原

請參考看看,thanks.

  sincerely yours
   Bo-cheng Jhan


在 2019年10月13日 星期日 下午5:51:49 [GMT+8], 高生旺<coscell@...> 寫道:


我正需要攔截 speaktext() 的 text 來先做處理在還給它,請問有沒有實做的城市馬可以給我觀摩?
感謝!


On Sun, 13 Oct 2019, Larry Wang wrote:

> Date: Sun, 13 Oct 2019 17:44:35 +0800
> From: Larry Wang <larry.wang.801@...>
> Reply-To: nvda-tw@groups.io
> To: nvda-tw@groups.io
> Subject: Re: [nvda-tw] GBReader 簡體中文報讀機
>
> 有些两岸不同的名词可以考虑用zhconv这个库转换
> 不过这样就需要给朗读函数添加补丁来完成了
>
> https://pypi.org/project/zhconv/
>
> On 2019/10/13 11:19, 高生旺 wrote:
>> 在 line 群組看過好幾位夥伴提出報讀簡體中文的需求,於是寫了這個附加元件。
>> 不論是閱讀電子書、玩大陸的遊戲,甚至安裝大陸軟體,
>> 只要螢幕上出現簡體中文讓您聽不懂,都可以按個按鍵來解決,還可以隨身攜帶。
>> 有需要的人可以多加利用,下在網址:
>> http://nvda.gaga.tw
>>
>>
>>
>
>
>
>



Join nvda-tw@groups.io to automatically receive all group messages.