, ben de TextToSpeech (LogCat göre ~ 800ms) başlatmasını sonra TextToSpeech.getLanguage() diyoruz, henüz bazen (her zaman değil) dönüş null, sistemin TextToSpeech ayarlarında düzgün ayarlanmış dilde rağmen:Neden TextToSpeech.getLanguage() * bazen * boşver? Benim uygulamasında
System Settings > Language & input >
Text-to-speech output > Google Text-to-speech > English (United Kingdom)
Bu yalnızca Jelly Bean'de (Android 4.1.1) gerçekleşir. Android 2.2'de gerçekleşmez.
Bu bilinen bir Android hatası mı? Yoksa yanlış bir şey mi yapıyorum?
ben örneğini ve ödeyecekleri benim Uygulamanın ana aktivitede TextToSpeech:
new TextToSpeech(this, this);
Ve her iki oluşturulabilmesi ve TextToSpeech.getLanguage() yapılan çağrı aynı parçacığı (garanti edilir aramaların dolayısıyla sipariş) yapılır.
Veya geri aramadan sonraki herhangi bir zamanda, TTS hizmetinin başlatmayı tamamladığını gösterir. – alanv
@alanv kesinlikle haklısınız, onInit() 'de doğru olan bir bayrağı ayarlamanız ve getLanguage() –
@ alanv çağırmadan önce bu işaretin true olup olmadığını kontrol etmem gerekiyor. Aslında iki kez onInit(): null değerini döndürür. Ayarların açıkça eng_GBR ayarlanmış olmasına rağmen, ikinci kez eng_USA döndürür. Yine, * bazen * birinci ve ikinci aramalarda eng_GBR'yi doğru şekilde döndürür. Bir çeşit ırk durumuna benziyor mu? **Bu neden oluyor? Bunu ne açıklayabilirdi? –