2010-02-09 23 views
5

Tôi đang sử dụng Text to Speech.Text to Speech setLanguage() không hoạt động

Khi tôi đặt ngôn ngữ sử dụng

mTts = new TextToSpeech(this, this); 
mTts.setLanguage(Locale.UK) 

tôi luôn luôn nhận được một giọng Mỹ.

Cách duy nhất để khắc phục điều này là thay đổi cài đặt ngôn ngữ mặc định trong hệ thống Android. Tôi đang làm gì sai?

Trả lời

7

SOLVED

Thay vì đặt nó bên onActivityResult() đặt nó bên trong OnInit (tình trạng int) và nó hoạt động

+0

Hành vi lạ. Có vẻ như TTS thực sự cần phải được khởi tạo hoàn toàn trước khi thiết lập ngôn ngữ. – Sney

+2

Nó không hoạt động đối với tôi trong phương thức onInit (int status) .. Tôi sẽ phát điên! –

0

Có một trường hợp mà ngôn ngữ không được cài đặt trên tts và các thiết bị không có quyền truy cập vào mạng Tôi đã xem nó trên KitKat. Trong trường hợp đó tts không thay đổi ngôn ngữ, nó sẽ không cung cấp cho getAvailableLanguages() và chỉ hoạt động trên ngôn ngữ mặc định. Bạn có thể thấy điều đó bằng cách gọi getLanguage() sau khi bạn đã gán ngôn ngữ mới

Các vấn đề liên quan