2014-05-23 1 views
8

iOS 7의 새로운 음성 합성 API를 사용하고 싶습니다. 내 응용 프로그램이 현지화되어 있습니다. & 영어, 독일어, 일본어 등. 텍스트를 읽을 언어 코드를 설정해야합니다. 언어 코드를 가져 오는 방법은 무엇입니까? 벨로우즈 언어의iOS 7 AVSpeechUtterance 텍스트의 다른 언어 코드를 가져 오는 방법은 무엇입니까?

utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-ZA"]; 

답변

17

설정할 수있는 하나

for (AVSpeechSynthesisVoice *voice in [AVSpeechSynthesisVoice speechVoices]) { 
      NSLog(@" %@", voice.language); 
     } 

또는 사용의 기본 로케일이 지원되는 언어를 목록입니다

AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init]; 
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Localized -text"]; 
utterance.rate = AVSpeechUtteranceMinimumSpeechRate; // Tell it to me slowly 
[synthesizer speakUtterance:utterance]; 

업데이트 :

,210
+0

괜찮아 내가 목소리를 identifify 수있는 방법, 당신은 tonymkenu 감사합니다. 언어 대응 도시 또는 언어 이름 – Ravindhiran

+0

업데이트 ... 요청 : – TonyMkenu

+0

자세한 정보는 여기에 있습니다 : http://useyourloaf.com/blog/2014/01/08/synthesized-speech-from-text.html – TonyMkenu

2

SWIFT 3 업데이트 :

import AVFoundation 

(언어 코드 확인) : 다음

for voice in (AVSpeechSynthesisVoice.speechVoices()){ 
     print(voice.language) 
    } 

:

let speakTalk = AVSpeechSynthesizer() 
let speakMsg = AVSpeechUtterance(string: "Hello Word I can speak") 

speakMsg.voice = AVSpeechSynthesisVoice(language: "en-US") 
speakMsg.pitchMultiplier = 1.2 
speakMsg.rate = 0.5 

speakTalk.speak(speakMsg)