2013-07-04 28 views
18

tôi đã tìm thấy nhiều thư viện như flite có thể được sử dụng, như trong trao here, nhưng tôi muốn biết nếu có bất kỳ Built-In lớp được cung cấp bởi iOS SDK tương tự như NSSpeechRecognizer cung cấp trong OS X.iOS có cung cấp tính năng hỗ trợ văn bản thành giọng nói hoặc bất kỳ lớp nào như NSSpeechRecognizer không?

+1

đây là một câu hỏi gây nhầm lẫn. câu hỏi cho biết nhận dạng giọng nói trong phần mô tả nhưng được gắn thẻ "text-to-speech" và cũng cho biết "text to speech support" trong tiêu đề. –

Trả lời

45

Có không hỗ trợ tính năng chuyển văn bản thành giọng nói được tích hợp trong iOS 5 hoặc 6 - bạn sẽ cần phải sử dụng thư viện của bên thứ ba. Nếu bạn đang sử dụng iOS 7, bạn sẽ gặp may.

Có một lớp mới trong iOS 7 được gọi là AVSpeechSynthesizer (Apple's docs can be found here). Bạn có thể sử dụng tính năng này để thực hiện chuyển văn bản thành giọng nói. Dưới đây là ví dụ đơn giản:

AVSpeechUtterance *utterance = [AVSpeechUtterance 
           speechUtteranceWithString:@"Hello world"]; 
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init]; 

[synth speakUtterance:utterance]; 

Các thuộc tính như tốc độ và loại giọng nói được đặt trong AVSpeechUtterance, thay vì bộ tổng hợp.

+4

mặc dù vẫn còn trong phiên bản beta iOS 7 được công khai và bao gồm lớp 'AVSpeechSynthesizer' có thể được sử dụng cho văn bản thành giọng nói. [Tham khảo] (https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVSpeechSynthesizer_Ref/Reference/Reference.html#//apple_ref/doc/uid/TP40013447). – eliocs

+0

iOS7 được giảm xuống ngay hôm nay để bạn có thể cập nhật câu trả lời bằng mã thực tế của mình. – Topsakal

+0

Cảm ơn, tôi đã cập nhật mẫu mã số – lxt