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 *)senderwillSpeakWord:(NSRange)wordToSpeakofString:(NSString *)textПараметры
senderNSSpeechSynthesizerобъект это синтезирует текст в речь.wordToSpeakWord это
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 *)senderwillSpeakPhoneme:(short)phonemeOpcodeПараметры
senderNSSpeechSynthesizerобъект это синтезирует текст в речь.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 *)senderdidEncounterErrorAtIndex:(NSUInteger)characterIndexofString:(NSString *)textmessage:(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 *)senderdidEncounterSyncMessage:(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 *)senderdidFinishSpeaking:(BOOL)successПараметры
senderNSSpeechSynthesizerобъект, прекративший говорить в устройство звукового вывода.successYEStrueпри разговоре завершенный обычно,NOfalseесли разговор останавливается преждевременно по какой-либо причине.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.3 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
startSpeakingString:(NSSpeechSynthesizer)stopSpeaking(NSSpeechSynthesizer)
