私はSwift
とOS X
プログラミングの新機能です。スピーチシンセサイザーの話すテキストの進行状況を示すために進捗モニターを使用しようとしています。NSSpeechStatusNumberOfCharactersLeftを使用してNSSpeechSynthesizerの進行状況インジケータを更新します。
let speechSynthesizer = NSSpeechSynthesizer()
speechSynthesizer.delegate = self;
speechSynthesizer.startSpeakingString(contents)
私は定期的に、その後
progressIndicator.maxValue = Double(NSSpeechStatusNumberOfCharactersLeft.characters.count)
とを設定し、Appleのマニュアルに従って0
私は、このキーにアクセスしようとするすべての方法を打つ必要がありますNSSpeechStatusNumberOfCharactersLeftとprogressIndicatorを、更新したいと思い、それは同じ不正確な数を返します、私は明らかにそれを正しく使用していません。私が見つけた唯一の例では、Objective-C
NSNumber *n = [[self.speechSynth objectForProperty:NSSpeechStatusProperty error:NULL] objectForKey:NSSpeechStatusNumberOfCharactersLeft];
ではなかったと私はSwift
にそれを翻訳してみましたが、それでも、何のサイコロ。
let count = try speechSynthesizer.objectForProperty(NSSpeechStatusProperty).objectForKey(NSSpeechStatusNumberOfCharactersLeft)
私はまた、実行時例外をスロー
speechSynthesizer.valueForKey(NSSpeechStatusNumberOfCharactersLeft))
speechSynthesizer.valueWithName(NSSpeechStatusNumberOfCharactersLeft, inPropertyWithKey: NSSpeechStatusProperty))
を試してみました。何かご意見は?前もって感謝します!
これで、状況はちょっと怪しいです。このキーNSSpeechStatusNumberOfCharactersLeftは正しい値を一度返しますが、コンピュータを再起動した後に限ります。私は –