Brad's answer là khá tuyệt vời, vì nó chứa chính xác những gì bạn đang tìm kiếm. Tuy nhiên, thiếu một nguyên tắc cơ bản bạn đã thể hiện sở thích trong câu hỏi errata: triển khai trong C#.
Here's a full tutorial để truy cập vào API giọng nói trong mã được quản lý. Với tín dụng đầy đủ để Blake Niemyjski và các đội bóng thích hợp tại Microsoft, đây là các bit nổi bật, bởi vì linkback đến bài viết gốc đã chết và điều này dường như được mượn từ Microsoft trực tiếp:
Các liên kết sau (Cho Máy tính một Tiếng nói) sẽ dẫn bạn tới trang web của của Microsoft sẽ chỉ cho bạn cách tạo dự án và nhận ứng dụng văn bản cơ bản để phát biểu và chạy trong VB .Net hoặc C# trong thời gian không !
SAPI
SAPI là API ngôn luận cho phép các ứng dụng truy cập vào bài phát biểu công nhận và (TTS) động cơ text-to-speech. Bài viết này tập trung vào TTS. Đối với TTS, SAPI lấy văn bản làm đầu vào và sử dụng công cụ TTS để xuất văn bản đó dưới dạng âm thanh nói. Đây là công nghệ tương tự được sử dụng bởi công cụ trợ năng của Windows, Người kể chuyện. Mọi phiên bản Windows vì XP đã được vận chuyển với SAPI và một công cụ TTS tiếng Anh.
TTS khiến tai của người dùng hoạt động. Nó cho phép ứng dụng gửi thông tin cho người dùng mà không cần đến mắt hoặc bàn tay của người dùng. Đây là một tùy chọn đầu ra rất mạnh mẽ, thường không được sử dụng trên các máy tính .
Ba bước cần thiết để sử dụng TTS trong một ứng dụng quản lý:
- Tạo một interop DLL
Kể từ SAPI là một thành phần COM, một DLL interop là cần thiết để sử dụng nó từ một ứng dụng được quản lý. Để tạo điều này, hãy mở dự án trong Visual Studio. Chọn menu Dự án và nhấp vào Thêm tham chiếu. Chọn tab COM, chọn "Microsoft Speech Object Library" trong danh sách và nhấp OK. Các bước này thêm tham chiếu này vào dự án của bạn và tạo một Interop.SpeechLib.dll trong cùng thư mục với tệp thi hành của bạn. Điều này interop DLL phải luôn luôn được trong cùng một thư mục như của bạn .exe để làm việc một cách chính xác.
- tham khảo không gian tên interop
Bao gồm namespace này trong ứng dụng của bạn. Trong C#, thêm "using SpeechLib;"; iIn VB, thêm "Nhập khẩu SpeechLib".
- gọi Nói()
Tạo một đối tượng SpVoice và gọi Nói():
Visual C#
SpVoice voice = new SpVoice();
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault);
Visual Basic
voice = New SpVoice
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault)
Tôi cảm thấy câu trả lời của Brad đã đưa tôi đến giải pháp đúng ở đây (do đó, anh ấy xứng đáng với tín dụng hơn tôi), nhưng đây sẽ là phần cuối cùng bạn bỏ lỡ. Bây giờ bạn có thể sao chép các tập tin WAV-file từ C++ solution trong mã được quản lý, và từ đó, transcode vào định dạng mong muốn của bạn.
Bạn biết ngôn ngữ lập trình nào? – Brad
Tôi đã hy vọng tìm thấy một cái gì đó đã được viết. Tôi là một con khỉ mã và đã được lập trình kể từ khi BASIC có số dòng. Tuy nhiên C# là những gì tôi được trả tiền để phát triển. – SQLMason
xem bài đăng của tôi. Có một giải pháp VB mà bạn có thể dễ dàng thích ứng với .NET. Nếu bạn muốn một cái gì đó đã được viết, sau đó bạn sẽ muốn tìm nơi khác. Stack Overflow dành cho các câu hỏi lập trình. – Brad