无法听到Text to Speech的任何输出

时间:2016-03-01 00:50:35

标签: codenameone

我正在创建自己的Codenameone应用程序,该应用程序使用IOS 8中的文本到语音功能。我的应用程序使用与DrSbaitso演示中给出的相同的本机IOS代码。我可以构建我的应用程序并将其成功部署到我的IPhone,但是我永远无法听到Text to Speech的任何输出。我已经验证了本机界面被调用,但我听不到任何声音。除了将调用IOS文本到语音功能的本机接口之外还有其他需要实现的东西吗?我的IPhone上是否需要启用使用Text to Speech API的东西?我列出了我正在使用的本机实现代码。

部首:

#import <Foundation/Foundation.h>

@interface com_testapp_demos_TTSImpl: NSObject {
}

-(void)say:(NSString*)param;
-(BOOL)isSupported;
@end

来源:

#import "com_testapp_demos_TTSImpl.h"
#import <AVFoundation/AVFoundation.h>

@implementation com_testapp_demos_TTSImpl

-(void)say:(NSString*)param{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"];
    AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:param];
    AVSpeechSynthesizer *syn = [[[AVSpeechSynthesizer alloc] init]autorelease];
    utterance.rate = 0;
    utterance.voice = voice;
    [syn speakUtterance:utterance];
    [pool release];
}

-(BOOL)isSupported{
    return YES;
}

@end

1 个答案:

答案 0 :(得分:1)

确认音量已启动且设备未处于静音模式。

请注意,在iOS中,设备可能处于静音模式并仍然播放声音,因此这是一个常见的错误!

请参阅AVSpeechSynthesizer works on simulator but not on device