[Swift] [Xcode6] [초보자] 음성으로 텍스트를 읽을 수 있는 간단한 응용 프로그램의 소스 코드

5952 단어 Swift초학자
컨디션
OS X Yosemite10.10
Xcode6.1.1

응용 프로그램 설명


• 텍스트에 텍스트를 입력하면 텍스트를 읽을 수 있는 응용
• 문자의 기호를 없애기 위해
• 텍스트 입력 후 return 키를 누르거나 버튼을 누르면 키보드를 숨깁니다

실제 동작은 이런 느낌이다.
http://youtu.be/1j28rl-YThg

소스 코드

//1.ボタン、テキストフィールドを設置→viewcontroller.swiftに接続



import UIKit
import AVFoundation //2.フレームワークをインポート
                                        //5.
class ViewController: UIViewController, UITextFieldDelegate {


    @IBOutlet weak var textArea: UITextField!   //1.

    var speak:AVSpeechSynthesizer = AVSpeechSynthesizer()   //3.変数speakを作る

    override func viewDidLoad() {
        super.viewDidLoad()
        //5.キーボードを表示させる
        textArea.delegate = self
        textArea.clearButtonMode = UITextFieldViewMode.Always
        textArea.keyboardType = UIKeyboardType.Default
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }


    @IBAction func speakBtn(sender: UIButton) { //1.
        //4.ボタンが押されたら音声を読み上げ
        let content = AVSpeechUtterance(string: self.textArea.text)
        content.voice = AVSpeechSynthesisVoice(language: "ja-JP")
        self.speak.speakUtterance(content)
        textFieldShouldReturn(textArea) //6.


    }

    //6.returnキーを押したらキーボードが消えるようにする
    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textArea.resignFirstResponder()
        return true
    }

}
추가된 순서대로 번호가 적혀 있습니다.

제작 과정의 오류


iOS8.1이면 코드가 맞아도 소리가 안 나요.


Xcode가 설치된 상태라면 납품된 상태에서 iOS SDK8.01만 들어가면 사운드 기능을 사용할 수 없습니다.
http://stackoverflow.com/questions/24472766/avspeechutterance-swift-initializing-with-a-phrase

iOS 7. 시뮬레이터.0으로 이동


기능을 사용할 수 있는 것은 iOS 7입니다.알겠습니다 0, 하지만 시뮬레이터를 iOS로 만들어도 조사합니다.
http://wayohoo.com/mac/apps/developer-tools/if-there-is-no-ios-simulator-in-xcode-6-1-workaround.html

에뮬레이터 키보드 표시


소리가 됐지만 키보드가 안 나와서 나도 여기 빠졌어.
http://yutaihara.com/archives/147
조금은 있지만 스위프트 작법과 엑스코드 사용법에 익숙해지면서 프로그래밍도 흥미로워졌다.

좋은 웹페이지 즐겨찾기