iOS App課程練習#10 有情人終成眷屬?

-用Slider調整講話的音調和速度

Zorro
彼得潘的 Swift iOS / Flutter App 開發教室
4 min readAug 17, 2018

--

保護單身狗從今天開始

又到了一年一度牛郎織女履行伴侶義務(或是牛郎織女懇親會?)的日子。但,當有情人終成眷屬的同時,也是有一群人 正度過…孤單寂寞覺得熱的一天,有些很壞的人會揶揄這族群叫做─單身狗。

所以,當Peter宣布作業,身為協會一員,當然要來宣導一下這項活動。
第一,要先把代言人從隔壁棚請出來:

Hi~單身柴

當然不是...是先把Mac鍵盤設定能輸入中文到模擬器,如同Peter以下的說明,看圖說故事之後,順利的完成第一步。

接下來是程式碼,首先把textfield、button(打到這邊才發現action拚錯字XD)、slider一個一個拉進來,再來連結各項IBOutlet以及IBAction,雖然很假會的想要跟著同學做做看slider的label顯示,但怎麼只會出現了0或1咧...要五毛給不出一塊,感覺怪怪。

//let's rollimport UIKitimport AVFoundationclass ViewController: UIViewController {//outlet沒有特價@IBOutlet weak var textField: UITextField!@IBOutlet weak var speedRate: UISlider!@IBOutlet weak var voiceType: UISlider!@IBOutlet weak var speedRateText: UILabel!@IBOutlet weak var voiceTypeText: UILabel!//要五毛...但給不出一塊@IBAction func changeSlider(_ sender: Any) {speedRateText.text = String(format:"%.2f", speedRate.value)voiceTypeText.text = String(format:"%.2f", voiceType.value)}//來說點話@IBAction func buttomPressed(_ sender: Any) {let speechUtterance = AVSpeechUtterance(string:textField.text!)speechUtterance.voice = AVSpeechSynthesisVoice(language:"zh-TW")let synthesizer = AVSpeechSynthesizer()speechUtterance.pitchMultiplier = voiceType.valuespeechUtterance.rate = speedRate.valuesynthesizer.speak(speechUtterance)

雖然讓app說出中文了,但總覺得裡面鑲嵌一下可以辨識中、英或日文應該會更好玩,這個得再來跟Peter泡茶聊天問問。

最後來看看成果,打進最想在今天吶喊的話,然後就沒有然後了...Q_Q

你才單身狗~你全家都單身狗!!!!

打完收工以前附上Github,哎呀老闆來了...

--

--