2010-06-23 90 views
0

我正在设计一个需要文本到语音的应用程序。我正在使用发布的here将文本转换为语音的库。我必须从Json url中检索文本,并将这些值传递给文本到语音。我能够检索JSON数据并将其转换为文本到语音使用下面的代码ObjectatIndex 0 ...从json数据连续转换文本到语音

SBJSON *json = [[SBJSON alloc]init]; 
fliteEngine = [[FliteTTS alloc] init]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.sampleurl.txt"]]; 
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSString *jsonstring = [[NSString alloc]initWithData:response encoding:NSUTF8StringEncoding]; 

NSArray *asanasList = [json objectWithString:jsonstring error:nil]; 
NSArray *asanas =[asanasList objectForKey:@"yogagurubackpain"]; 


for(NSDictionary *test in asanas) 
{ 

    UrlValues *myasanas = [[UrlValues alloc]init]; 
    myasanas.asanatitle = [test objectForKey:@"asanatitle"]; 
    myasanas.asanatranscript = [test objectForKey:@"asanatranscript"]; 
    myasanas.asanapicture = [test objectForKey:@"asanapicture"]; 
    [data.yoga addObject:myasanas]; 
    [myasanas release]; 
} 


UrlValues *asana=[[data yoga]objectAtIndex:0]; 
self.AsanaName.text = [asana asanatitle]; 
self.AsanaTranscript.text = [asana asanatranscript]; 

NSString *imageUrl = [asana asanapicture]; 
NSString* mapUrl = [imageUrl stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
NSData* imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:mapUrl]]; 
UIImage* image = [[UIImage alloc] initWithData:imageData]; 
self.AsanaImage.image = image; 


NSString *speak = self.AsanaTranscript.text; 
[fliteEngine setVoice:@"cmu_us_rms"]; 
[fliteEngine speakText:speak]; 
[fliteEngine setPitch:100.0 variance:11.0 speed:0.4]; 
    [imageData release]; 
    [image release]; 

[jsonstring release]; 
[json release]; 

现在我的问题是我怎么能去到下一个对象播放结束后自动第一个。该过程必须为所有对象继续。相应的图像等必须在第一个文本到语音完成后在页面上加载... Plz帮助我...

回答

0

看着链接库的来源,它看起来像你将不得不侵入FliteTTS.m的方法。如果您查看源代码,则使用AVAudioPlayer播放生成的WAV文件。它也将自己设置为音频播放器的代表。如果您实施audioPlayerDidFinishPlaying:successfully:委托方法并在被调用时播放下一个块,则应该可以具有半连续的文本到语音流。

+0

可以üplz帮我一个样品因为我是一个新手到iPhone开发.... Plzzzz – 2010-06-23 05:18:47