Я хочу загрузить несколько языков для использования IVONA SDK с SSML для iPhone. Нет документации для использования в Xcode/object-C, предоставляется только сам SDK и несколько примеров C/java.Как загрузить несколько языков в IVONA SDK - текст в речь
Как вы можете загружать несколько языков для текста, чтобы говорить с IVONA SDK для iOS?
EDIT 1: см мой код ниже
нагрузки голоса в первом:
- (NSInteger) loadVoice: (NSString*) vox {
if(voice != nil) {
XLog(@"(voice != nil)");
[voice unload];
voice = nil;
}
NSString *pathIvona = [[NSString alloc] initWithFormat:@"%@", vox];
self.paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
self.documentsDirectory = [self.paths objectAtIndex:0];
self.path = [self.documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", pathIvona]];
voice = [[IvonaVoice alloc] init:instance withLibrary:self.path withVox:self.path];
[pathIvona release];
if (voice == nil) {
XLog(@"Cannot load voice");
[self setTtsError: @"Cannot load voice"];
return 0;
}
[voice setParam:@"vol" withInteger: 99];
return 1;
}
пытается загрузить несколько языков в один стример с (стример по-прежнему отсутствует, оно не изменение):
NSArray *allVoices = [self getAvaliableVoxes];
/**
* Here the streamer is still nil,
* i cant find the mistake here.
*
*/
IvonaStreamer *streamer = [[IvonaStreamer alloc] initWithVoices:allVoices
withText:[NSString stringWithContentsOfFile:self.path
encoding:NSUTF8StringEncoding error:&error] atSpeed:[NSNumber numberWithFloat:-1]];
Метод getAvailableVoices:
- (NSArray*)getAvaliableVoxes {
XLog(@"-----------------------------------entered");
self.paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
self.documentsDirectory = [self.paths objectAtIndex:0];
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager contentsOfDirectoryAtPath:[self.paths objectAtIndex:0] error:nil];
for (NSString *s in fileList){
//XLog(@"s: %@", s);
}
NSMutableArray *pathsIvona = [[NSMutableArray alloc] init];
NSEnumerator *e = [fileList objectEnumerator];
NSString *vox;
while (vox = [e nextObject]) {
if([[vox lastPathComponent] hasPrefix:@"vox_"]) {
XLog(@"vox: %@", vox);
[pathsIvona addObject: [vox lastPathComponent]];
XLog(@"pathsIvona: %@", pathsIvona);
}
}
XLog(@"pathsIvona: %@", pathsIvona);
return [pathsIvona autorelease];
}
Как вы можете загрузить несколько языков в одном серпантине на прошивке с IVONA SDK?
Поскольку никто здесь может помочь вам, вы можете написать разработчик IVONA, я думаю. [Twitter] (https://twitter.com/#!/ivonatts) [Facebook] (http://www.facebook.com/ivonatts) –
У вас есть журнал выходных данных из операторов XLog? возможно, объекты, добавленные в массив allVoices, не соответствуют ожидаемому массиву initWithVoices: ... любой шанс, что вы посмотрели на ошибку? –
@john do yor comment как ответ, тогда я могу отметить его. это было правильное место для выпуска, я добавил неправильные объекты в массив. Спасибо. – brush51