Swiftで遊ぼう! - 859 - AVSpeechSynthesizer
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
オリジナルアプリ... どうしようか考えています。
色々アイディアはあるけど、複雑なアプリばかり考えてしまって形にできません。
そこでとてもシンプルなアプリを作ることにしました。
そのために資料集めをします。今日はAVSpeechSynthesizerです。本当に簡単に喋らせることができました。こういうテストコードも簡単に理解できるようになった自分に驚きです。
Viewに設置するオブジェクトは「UITextView」と「UIButton」です。そしてUIViewControllerに次のコードを書くんです。
import UIKit import AVFoundation class ViewController: UIViewController, UITextFieldDelegate, AVSpeechSynthesizerDelegate { @IBOutlet weak var speechText: UITextField! var talker = AVSpeechSynthesizer() override func viewDidLoad() { super.viewDidLoad() self.speechText.delegate = self self.talker.delegate = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func textFieldShouldReturn(_ textField: UITextField) -> Bool { speechText.resignFirstResponder() return true } @IBAction func speech(_ sender: UIButton) { // 話す内容をセット let utterance = AVSpeechUtterance(string: self.speechText.text!) // 言語を日本に設定 utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP") // 話す速度(0.0 - 1.0) utterance.rate = AVSpeechUtteranceMinimumSpeechRate // 声の高さ(0.5 - 2.0) utterance.pitchMultiplier = 1.0 // 実行 self.talker.speak(utterance) } // 以下のメソッドがデリゲートメソッドです。 func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) { print("開始") } func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) { print("終了") } }
Swiftで遊ぼう! - 858 - ブログ記事をランダムに改訂中5
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
デザイン・パターンの復習は進んでいます。Swift 3に対応させているだけですが、疑問に思っていたことが今は理解できます。
間違っている内容も多かったので修正しています。
Swiftで遊ぼう! - 857 - ブログ記事をランダムに改訂中4
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
デザインパターンの復習をしているので、シングルトン・パターンの記述をSwift 3向けに書き直しました。
以前疑問に思っていたplaygroundでのアクセス・コントロールの問題点も解消されていたので、不必要な記述はカットしました。
アクセス・コントロール、Swift 3から拡充されていますね。まだ勉強していないのでちょっと勉強します。
Swiftで遊ぼう! - 856 - ブログ記事をランダムに改訂中3
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
ランダムに昔の記事を改訂しています。
今日はタイプ・メソッドのコードを書き直していて、昔の疑問点が解消されていなかったことが判明しました。誰も教えてくれないので、初めてQitaで投稿してみました。
誰かコメントしてくれないかな...
修正した記事は次です。
Swiftで遊ぼう! - 855 - ブログ記事をランダムに改訂中2
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
ランダム改訂中の1記事、デザイン・パターンの話題に取り組んでいます。
「まえがき」だけ改訂しました。
デザイン・パターンはSwift 3向けに書き直します。
Swiftで遊ぼう! - 854 - ブログ記事をランダムに改訂中1
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
私のブログ記事も大量になっています。自分で書いた内容も忘れてしまうほど多くの話題に触れています。
基本的に初心者レベルを超える内容も含まれています。
まだまだフレームワークの勉強ができていないため個別のフレームワークの利用の勉強を始めます。
しばらく自分の記事の内容をSwift 3向けに書き換えていきます。
テーブルビューコントローラーを使った記事を改訂中です。
まだできていないけど、記事の内容が徐々に変わっていく現象に遭遇するかも。
Swiftで遊ぼう! - 853 - 復習は進んでいます
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
今までの勉強したことの復習には時間がかかりませんね。やっぱり1回勉強した内容は簡単に理解できます。どんどんSwift 3向けに書き直しをします。
Swift 3向けに書き直しました。