2015-04-25 15 views
7

Tôi đã chơi với speechSynthesis ChromeBài phát biểu của Chrome có thể hoạt động ngoại tuyến không?

msg = new SpeechSynthesisUtterance("some text"); 
msg.lang = "fr-FR" ; 
window.speechSynthesis.speak(msg); 

khi tôi phát hiện ra vấn đề kỳ lạ này: nó không thể nói được nữa nếu thiết bị của bạn đang ngoại tuyến. Tôi đã tìm kiếm trên web nhưng không tìm thấy bất kỳ lời giải thích nào.
Không thể làm việc này ngoại tuyến?
(Nếu bạn biết lý do tại sao nó cần phải được trực tuyến, xin vui lòng cho tôi biết nó trong các ý kiến.)

Trả lời

11

Tổng hợp giọng nói voices là địa phương trên thiết bị hoặc đến từ các dịch vụ tổng hợp giọng nói từ xa. Nếu giọng nói là một dịch vụ từ xa, trình duyệt sẽ chỉ có thể sử dụng nó nếu nó trực tuyến và có thể kết nối với nó.

Bạn không nói bạn đang ở trong môi trường nào, nhưng giọng nói của Google Français sẽ được sử dụng cho fr-FR trên Windows và OS X là dịch vụ từ xa, vì vậy nó không hoạt động ngoại tuyến.

Bạn có thể kiểm tra giọng nói nào khả dụng trên thiết bị bằng cách gọi speechSynthesis.getVoices() và kiểm tra thuộc tính localService cho từng giọng nói.

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