開發(fā)緣起
近年來年齒漸衰,老眼昏花,看網(wǎng)頁(yè)已頗感吃力。不得已把字體放大再放大,但長(zhǎng)時(shí)觀看仍感眼睛疲勞。因此想找一個(gè)可以隨時(shí)朗讀手機(jī)上看到的文字的App。網(wǎng)上找了一圈沒有找到適用的、滿意的。找到過程中發(fā)現(xiàn)蘋果的iSO系統(tǒng)有一個(gè)“朗讀所選項(xiàng)”的功能,我使用的安卓系統(tǒng)好像沒有這個(gè)功能。
于是我想是不是可以自己開發(fā)一個(gè)App實(shí)現(xiàn)這個(gè)功能??墒俏覐膩頉]有開發(fā)安卓App的經(jīng)驗(yàn),也不會(huì)JAVA語(yǔ)言,行嗎?不過我想我年輕的時(shí)候玩過Delphi,現(xiàn)在也時(shí)不時(shí)搞些vba,js等小玩意,通過網(wǎng)上查找一些教程,應(yīng)該行吧。
開發(fā)過程
首先我上網(wǎng)找了開發(fā)安卓App所需的軟件,現(xiàn)在主流應(yīng)該是Android Studio。并羅列了我需要實(shí)現(xiàn)的功能:
從其他App中把選中的文字轉(zhuǎn)移到我的App;
朗讀文本;
編輯文字。
根據(jù)這些主要功能,我上網(wǎng)查找了相關(guān)實(shí)現(xiàn)的源代碼,感覺還行,不復(fù)雜。于是安裝Android Studio,安裝JAVA環(huán)境,開干。
新建工程需要一個(gè)名稱,想了想覺得叫”隨手讀“比較好,英文就叫HandySpeak。
然后首先是界面,比較簡(jiǎn)單,上面文本框,下面一個(gè)播放按鈕。上網(wǎng)查了安卓的布局原理,自己試來試去,基本實(shí)現(xiàn)了。2天以后,終于實(shí)現(xiàn)了App的基本功能。
試用過程中,發(fā)現(xiàn)文本框滾動(dòng)較慢,沒有其他軟件中滾動(dòng)的絲滑感,而且一按到文本框就彈出一個(gè)鍵盤,相當(dāng)不爽。想到應(yīng)該默認(rèn)文本框不可編輯,雙擊進(jìn)入編輯狀態(tài)。于是又是網(wǎng)上搜搜搜,實(shí)現(xiàn)了我要的效果。
再想到應(yīng)該實(shí)現(xiàn)從文本的指定位置朗讀功能,希望能從滾動(dòng)到的第一行開始朗讀。這個(gè)功能一開始不知道怎么搜,后來終于也搜出了些結(jié)果,知道應(yīng)該怎么實(shí)現(xiàn)該功能了。
經(jīng)過一周多的開發(fā)調(diào)試,軟件終于基本實(shí)現(xiàn)了我希望的功能。試用了幾天效果不錯(cuò),心里很高興,想把他分享出來??戳艘幌戮W(wǎng)上發(fā)布App的地方,大多要上傳身份證等,覺得麻煩。因?yàn)橹跤玫妮^多,就把這個(gè)軟件發(fā)布在這里了。(這是不是第一個(gè)在知乎首發(fā)的App^皿^)
總之,這個(gè)App很簡(jiǎn)單,主程序300行不到,基本通過網(wǎng)上現(xiàn)學(xué)的知識(shí),把他實(shí)現(xiàn)了。
如果有哪位知友使用了這個(gè)App,感到有哪些欠缺的地方,歡迎提出寶貴意見。我水平較渣,如果力所能及,意見又比較符合我的感覺,我會(huì)想辦法更新完善。
附:隨手讀App說明
本軟件實(shí)現(xiàn)了朗讀其他App中的可選擇文本的功能。
使用方法:
在其他App中選中待朗讀文字,選擇彈出菜單中的“隨手讀”項(xiàng),可以把選中的文字顯示在隨手讀App中,按播放即可朗讀文字。
也可以在選中文字后,選擇彈出菜單中的“分享”項(xiàng),再選擇“隨手讀”應(yīng)用,與上面一樣可以把選中的文字顯示在隨手讀App中,按播放即可朗讀文字。
上述兩種操作的區(qū)別是:選“隨手讀”只能處理大約1000漢字以內(nèi)的文字,而選“分享”則可以處理多得多的文字(具體有沒有限制沒有測(cè)試)。估計(jì)前一種情況是由于目前安卓系統(tǒng)的限制。所以朗讀大量文字請(qǐng)優(yōu)先選用“分享”功能。
為了方便實(shí)現(xiàn)從文本中間的某個(gè)地方開始朗讀的功能,朗讀前可以先滾動(dòng)文本顯示區(qū)到你希望朗讀的地方,將從顯示的第一行開始朗讀。
菜單“系統(tǒng)TTS設(shè)置”可以進(jìn)入安卓系統(tǒng)的文字朗讀設(shè)置功能,方便你設(shè)置朗讀的引擎、語(yǔ)言、讀速等各種參數(shù)。
如果不能朗讀中文,需要你安裝安卓中文朗讀引擎,如“訊飛語(yǔ)記”等。
默認(rèn)文本區(qū)不可編輯。雙擊可以進(jìn)入編輯狀態(tài)。按手機(jī)回退鍵可以退出編輯狀態(tài)。