Tôi muốn chuyển văn bản thành giọng nói với nhiều giọng nói bằng nhiều ngôn ngữ.Làm thế nào để tạm dừng SpVoice ngay lập tức trong WPF?
Tôi đã thử SpeechSynthesizer
(Tham khảo: System.Speech) nhưng nó chỉ cho phép 2 tiếng nói tiếng Anh. Sau khi cài đặt 6 tiếng nói tiếng Anh từ trang web của Microsoft, tôi vẫn không thể nhận được bất kỳ tiếng nói nào khác.
Tôi đã thay đổi thành SpVoice
(Tham khảo: Thư viện đối tượng lời nói của Microsoft). SpVoice có thể nhận ra 6 giọng nói mà tôi vừa cài đặt. Vấn đề là khi tôi gọi spVoice.Pause()
, nó luôn trì hoãn 0,5 giây trước khi ngừng nói hoàn toàn. Tôi cũng đã cố gắng đặt AlertBoundary
cho SpVoice nhưng nó không giúp ích gì.
SpeechSynthesizer có thể tạm dừng ngay lập tức với SpeakAsyncCancelAll
nhưng chỉ hoạt động với giọng nói mặc định.
Cảm ơn. Trên thực tế, tôi đã sử dụng spVoice không đồng bộ. Tôi không nghĩ đây là một giải pháp. –