⑧ AVSpeechSynthesizer: 我們一起去東京買「寶可夢」
Published in
May 8, 2024
概念發想
「男友一直想去東京的寶可夢中心買他最喜歡的Pokemon,但每次我們談到寶可夢時,總是不知道對方在講哪一隻。他說『Snorlax』,我說『卡比獸』,日文是『カビゴン』。為了讓日本店員、他和我都清楚知道,我們在說哪隻寶可夢,決定利用這週所學的AVSpeechSynthesizer,來製作一個三國語言翻譯機,準確發音寶可夢的名稱。」希望我們都可以在東京寶可夢中心,(使用自製的APP)順利購買到自己最喜歡的寶可夢!
UI 規劃二個區塊
- 任意輸入文字,和東京店員講:「我要買寶可夢(日文)」こんにちは、ポケモンを買いたいです!
2. 點擊Pokemon 圖案講名稱:日文名、英文名、中文名
APP 介面設計
- 利用 text field 輸入文字。
- 利用 slider 控制講話的速度(rate)。
- 利用 slider 控制講話的音調(pitch)。
- 利用 label 顯示 slider 的數值。
- 利用 slider 控制講話的音量。
- 加入喇叭 button。
- 利用 segment control 點選語言。
- 利用 view 製作背景。
- 利用 image view 放入圖片。
- 利用 button 放在圖片前。
- 利用 label 製作紅色說明。
Import: AVFoundation
IBOutlet : 拉線(實心:成功)
IBAction :第一回合
Synthesizer 播放聲音(注意必須要放在開頭!)
兩次說話(第一次按鈕聲音,第二次寶可夢聲音),為了避免「重複宣告」,因次第二次多加了A,變成sythesizerA(重要!!!)
IBAction :第二回合(if…else if…..else 語法)
日文版:
其他語言寫法,仿造上面模式,可以往下查看完整程式碼。
末端,加入用戶點選空白處,即可將鍵盤收起來的功能。
如何檢查拉線?
這部分拉線的時候,九隻寶可夢都要拉到同一個function(IBAction),如果拉線到頭昏眼花,可以到右邊檢查一下。
點選按鈕,往右邊找到圓形符號,往下查看!是否都連到同一個IBAction: pokemonTalk(上方),下方是IBOutlet。如果多拉、改名都可以刪掉,或是重新來過。(重要!)
實測影片:Youtube
GitHub Gist 嵌入程式碼
- 進入:https://gist.github.com/(登入GitHub 帳號)或註冊。
- 貼入:檔名+程式碼。
- 按下:Create secret gist。
- 點選:Embed ,點選Share ,網址複製。
- 貼入:Medium。