My Application Objective C Reference
Home
Foundation.framework
NSObject
UIKit.framework
NSObject
UIControl
UIViewController
UIView
AVFoundation.framework
AVSpeechSynthesizer Class Reference
スピーチシンセサイザーの初期化
  • init
  • アトレンスの作成
  • + speechUtteranceWithString:
  • pitchMultiplier
  • rate
  • voice
  • volume
  • スピーチシンセシスの制御
  • – pauseSpeakingAtBoundary:
  • paused
  • speaking
  • – stopSpeakingAtBoundary:
  • デリゲートの管理
  • delegate
  • – speechSynthesizer:didCancelSpeechUtterance:
  • – speechSynthesizer:didFinishSpeechUtterance:
  • – speechSynthesizer:didPauseSpeechUtterance:
  • – speechSynthesizer:didStartSpeechUtterance:
  • 概要
    スピーチシンセサイザーはボイス、ピッチ、レートを決めてテキストを読み上げる機能。その行程中の制御。
    AVSpeechSynthesizer * speechSynthesizer = 
     [[AVSpeechSynthesizer alloc] init];
     speechSynthesizer.delegate = self;
    AVSpeechUtterance * utterance = 
     [AVSpeechUtterance speechUtteranceWithString:@"text"];
     utterance.rate = 0.2f;
     utterance.voice = 
      [AVSpeechSynthesisVoice voiceWithLanguage:@"ja-JP"];
     [speechSynthesizer speakUtterance:utterance];
    
    if(speechSynthesizer.speaking)
     [speechSynthesizer stopSpeakingAtBoundary:
      AVSpeechBoundaryImmediate];
    
    スピーチシンセサイザーの初期化
    スピーチシンセサイザーを初期化する。
    AVSpeechSynthesizer * speechSynthesizer = 
     [[AVSpeechSynthesizer alloc] init];
    
    スピーチシンセサイザーの初期化
    + (AVSpeechUtterance *)speechUtteranceWithString:(NSString *)string
    テキスト読み上げのアトランスを作成する。
    AVSpeechUtterance * utterance = 
     [AVSpeechUtterance speechUtteranceWithString:@"text"];
    
    @property(nonatomic) float pitchMultiplier
    声の高さ。
    @property(nonatomic) float rate
    話すスピード
    utterance.rate = 0.2f;
    
    @property(nonatomic, retain) AVSpeechSynthesisVoice *voice
    言語の種類と声。
    [AVSpeechSynthesisVoice voiceWithLanguage:@"ja-JP"];
    
    @property(nonatomic) float volume
    ボリューム。
    スピーチシンセシスの制御
    - (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary
    音声の一時停止。
    例)
    typedef enum : NSInteger {
       AVSpeechBoundaryImmediate,
       //直ちに停止。
       AVSpeechBoundaryWord
       //単語の読み上げが終わり次第停止。
    } AVSpeechBoundary;
    
    @property(nonatomic, readonly, getter=isPaused) BOOL paused
    一時停止をしているかどうか示すブール値
    @property(nonatomic, readonly, getter=isSpeaking) BOOL speaking
    読み上げ中かどうか示すブール値
    - (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary
    音声の出力を完全に止める。
    [speechSynthesizer stopSpeakingAtBoundary:
      AVSpeechBoundaryImmediate];
    
    デリゲートの管理
    @property(nonatomic, assign) id delegate
    スピーチシンセサイザーのデリゲート。
    < AVSpeechSynthesizerDelegate >
    
    speechSynthesizer.delegate = self;
    
    - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance
    キャンセルした時に読む。
    - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance
    音声の出力を終えた時に読む。
    - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance *)utterance
    一時停止した時に読む。
    - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance
    スタートした時に読む。
    参考:AVSpeechSynthesizer Reference
    Site Map Contact Us
    Copyright 2012 iBeginners All rights reserved.