2012-03-30 14 views
38

आईओएस उपकरणों ने एक्सेसिबिलिटी की वॉयसओवर सुविधा के लिए वॉयस सिंथेसाइज़र एम्बेड किए हैं। क्या टेक्स्ट-आधारित ध्वनियां उत्पन्न करने के लिए प्रोग्रामेटिक रूप से इन सिंथेसाइज़र का उपयोग करने का कोई तरीका है?प्रोग्रामिंग रूप से आईओएस वॉयस सिंथेसाइज़र का उपयोग कैसे करें? (भाषण के लिए पाठ)

मेरी समस्या यह है कि: मैं बच्चों को रंग सीखने के लिए और प्रत्येक भाषा में रंगों के नाम रिकॉर्ड करने के बजाय एक साधारण ऐप पर काम कर रहा हूं, जिसे मैं ऑडियो फाइलों के रूप में समर्थन और भंडारित करना चाहता हूं, बल्कि मैं उत्पन्न करता हूं कुछ टेक्स्ट-टू-स्पीच फीचर के साथ रनटाइम पर लगता है।

धन्यवाद

[संपादित करें: इस सवाल पूर्व iOS7 पूछा गया था तो क्या तुम सच में मतदान जवाब पर विचार करना चाहिए और पुराने लोगों की उपेक्षा, जब तक आप एक सॉफ्टवेयर पुरातत्त्ववेत्ता रहे]

उत्तर

61

iOS 7 से शुरू, एप्पल this एपीआई प्रदान करता है ।

this उत्तर देखें।

ऑब्जेक्टिव-सी

#import <AVFoundation/AVFoundation.h> 
… 
AVSpeechUtterance *utterance = [AVSpeechUtterance 
          speechUtteranceWithString:@"Hello World!"]; 
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init]; 
[synth speakUtterance:utterance]; 

स्विफ्ट

import AVFoundation 
… 
let utterance = AVSpeechUtterance(string: "Hello World!") 
let synth = AVSpeechSynthesizer() 
synth.speakUtterance(utterance) 
+0

क्या हम uttered आवाज को एमपी 3 फ़ाइल के रूप में सहेज सकते हैं? –

+0

@ ओनाटो मैं पाठ में भाषण में कैसे रुक सकता हूं। – ShreePool

4

दुर्भाग्य से आईओएस का खुलासा नहीं करता प्रोग्रामेटिक रूप से भाषण उत्पन्न करने के लिए एक सार्वजनिक एपीआई।

यदि आप ऐप स्टोर में सबमिट नहीं कर रहे हैं तो आप private API का उपयोग कर सकते हैं।

अन्यथा, उपयोग की जा सकने वाली कई तृतीय-पक्ष पुस्तकालयों के लिए this question पर प्रतिक्रियाएं देखें।

+7

चलो चाहते हैं कि ऐप्पल लोग यहां आएंगे और इसे "कृपया-मे-द-एपी-पब्लिक" अनुरोध के रूप में पढ़ेंगे;) –

+1

ऐप्पल सीधे उनसे अनुरोध किए गए अनुरोधों पर भी कोई ध्यान नहीं देता है, इसलिए मुझे बहुत उम्मीद नहीं होगी :( – MrTJ

+7

वास्तव में, ऐप्पल ने ऐसा किया। :) –

0

आपको इससे मदद Making Your iPhone Application Accessible

के रूप में कहा गया है मिल सकता है "iPhone पहुँच क्षमता एपीआई और उपकरण," मानक UIKit नियंत्रण और विचारों स्वचालित रूप से सुलभ हैं। यदि आप केवल मानक UIKit नियंत्रणों का उपयोग करते हैं, तो संभवतः आपको यह सुनिश्चित करने के लिए बहुत अधिक काम नहीं करना पड़ेगा कि आपका एप्लिकेशन सुलभ है। इस मामले में, आपका अगला चरण यह सुनिश्चित करना है कि इन नियंत्रणों द्वारा प्रदान की गई डिफ़ॉल्ट विशेषता जानकारी आपके एप्लिकेशन में समझ में आती है। "। आपूर्ति सटीक और उपयोगी गुण जानकारी" जानने के लिए ऐसा करने के तरीके, देख

0

आप इन तृतीय पक्ष एपीआई की कोशिश कर सकते हैं: iSpeech या OpenEars

11
#import <AVFoundation/AVFoundation.h> 

AVSpeechSynthesizer *av = [[AVSpeechSynthesizer alloc] init]; 
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:@"Text to say"]; 
[av speakUtterance:utterance]; 
+0

क्या हम एमपी 3 फ़ाइल में यूटर्ड आवाज को सहेज सकते हैं? –

4

इस कोड को दोनों सिम्युलेटर और iPhone 6 स्विफ्ट और iOS 8 के साथ मेरे लिए काम किया मैं मानक AVFoundation जोड़ने की जरूरत पुस्तकालय:

import AVFoundation 

// ... 

func onSayMeSomething() { 
    let utterance = AVSpeechUtterance(string: "Wow! I can speak!") 
    utterance.pitchMultiplier = 1.3 
    utterance.rate = AVSpeechUtteranceMinimumSpeechRate * 1.5 
    let synth = AVSpeechSynthesizer() 
    synth.speakUtterance(utterance) 
} 
संबंधित मुद्दे