NSSpeechSynthesizerDelegate
NSSpeechSynthesizerDelegate
протокол определяет дополнительные методы, реализованные делегатами NSSpeechSynthesizer
объекты.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.6 и позже.
-
Отправленный непосредственно перед тем, как синтезируемое слово произнесено через устройство звукового вывода.
Объявление
Swift
optional func speechSynthesizer(_
sender
: NSSpeechSynthesizer, willSpeakWordwordToSpeak
: NSRange, ofStringtext
: String)Objective C
- (void)speechSynthesizer:(NSSpeechSynthesizer *)
sender
willSpeakWord:(NSRange)wordToSpeak
ofString:(NSString *)text
Параметры
sender
NSSpeechSynthesizer
объект это синтезирует текст в речь.wordToSpeak
Word это
sender
собирается говорить в устройство звукового вывода.text
Текст, синтезирующийся
sender
.Обсуждение
Одно использование этого метода могло бы быть для визуального выделения произнесенного слова.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
startSpeakingString:
(NSSpeechSynthesizer) -
Отправленный непосредственно перед тем, как на синтезируемой фонеме говорят через устройство звукового вывода.
Объявление
Swift
optional func speechSynthesizer(_
sender
: NSSpeechSynthesizer, willSpeakPhonemephonemeOpcode
: Int16)Objective C
- (void)speechSynthesizer:(NSSpeechSynthesizer *)
sender
willSpeakPhoneme:(short)phonemeOpcode
Параметры
sender
NSSpeechSynthesizer
объект это синтезирует текст в речь.phonemeOpcode
Фонема это
sender
собирается говорить в устройство звукового вывода.Обсуждение
Одно использование этого метода могло бы быть должно анимировать рот на экране для соответствия сгенерированной речи.
Специальные замечания
Этот метод не отправляется за современной речью. Это только поддерживается для речи MacinTalk.
В OS X v10.4 и ранее, делегат не отправляется это сообщение когда
NSSpeechSynthesizer
объект синтезирует речь в файле (startSpeakingString:toURL:
).Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
startSpeakingString:
(NSSpeechSynthesizer) -
speechSynthesizer (_: didEncounterErrorAtIndex:ofString:message:) - speechSynthesizer:didEncounterErrorAtIndex:ofString:message:
Отправленный делегату, когда синтезатор речи встречается с ошибкой в синтезируемом тексте.
Объявление
Swift
optional func speechSynthesizer(_
sender
: NSSpeechSynthesizer, didEncounterErrorAtIndexcharacterIndex
: Int, ofStringtext
: String, messageerrorMessage
: String)Objective C
- (void)speechSynthesizer:(NSSpeechSynthesizer *)
sender
didEncounterErrorAtIndex:(NSUInteger)characterIndex
ofString:(NSString *)text
message:(NSString *)errorMessage
Параметры
sender
Синтезатор речи, сообщающий его делегату ошибки.
characterIndex
Расположение в тексте, где получатель встретился с ошибкой.
text
Текст, который синтезировал получатель, когда произошла ошибка.
errorMessage
Сообщение об ошибке.
Обсуждение
Синтезатор отправляет ошибочному делегату сообщение каждый раз, когда это встречается с синтаксической ошибкой в команде, встроенной в строку, это обрабатывает. Это может быть полезно во время отладки приложения, для обнаружения проблем с командами, которые Вы встроили в строки, которые говорит Ваше приложение. Если Ваше приложение позволяет пользователям встраивать команды в строках, может также быть полезно. Ваше приложение могло бы вывести на экран предупреждение, указывающее, что синтезатор встретился с проблемой в обработке встроенной команды.
Если для Вашего приложения нужна информация об ошибках, произошедших до вызова Вашего ошибочного метода делегата, приложение (включая ошибочный метод делегата) может вызвать отправителя
objectForProperty:error:
метод сNSSpeechErrorsProperty
постоянный.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Отправленный делегату, когда синтезатор речи встречается с ошибкой синхронизации.
Объявление
Swift
optional func speechSynthesizer(_
sender
: NSSpeechSynthesizer, didEncounterSyncMessageerrorMessage
: String)Objective C
- (void)speechSynthesizer:(NSSpeechSynthesizer *)
sender
didEncounterSyncMessage:(NSString *)errorMessage
Параметры
sender
Синтезатор речи, сообщающий его делегату ошибки.
errorMessage
Сообщение об ошибке.
Обсуждение
Синтезатор вызывает Ваш метод делегата синхронизации каждый раз, когда это встречается с командой синхронизации, встроенной в строку. Вы могли бы использовать метод делегата синхронизации обеспечить обратный вызов, не обычно предоставленный.
Например, Вы могли бы вставить команды синхронизации в конце каждого предложения в строке, или Вы могли бы ввести команды синхронизации после каждого числового значения в тексте.
Однако для синхронизации приложения с фонемами или словами имеет больше смысла использовать встроенную фонему и методы делегата слова:
speechSynthesizer:willSpeakPhoneme:
иspeechSynthesizer:willSpeakWord:ofString:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Отправленный, когда
NSSpeechSynthesizer
возразите заканчивает говорить через устройство звукового вывода.Объявление
Swift
optional func speechSynthesizer(_
sender
: NSSpeechSynthesizer, didFinishSpeakingsuccess
: Bool)Objective C
- (void)speechSynthesizer:(NSSpeechSynthesizer *)
sender
didFinishSpeaking:(BOOL)success
Параметры
sender
NSSpeechSynthesizer
объект, прекративший говорить в устройство звукового вывода.success
YES
true
при разговоре завершенный обычно,NO
false
если разговор останавливается преждевременно по какой-либо причине.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
startSpeakingString:
(NSSpeechSynthesizer)stopSpeaking
(NSSpeechSynthesizer)