zoukankan      html  css  js  c++  java
  • 讯飞语音接口使用

     

     讯飞语音我就不介绍了,说实话,昨晚之前我还不知道这个东西.因为自己现在只用到了语音合成,即将一段文字转化为语音,所以在此先将语音合成的方法列出来.

    首先添加框架

    iflyMSC.framework,

    libz.dylib/libz.tbd(Xcode7.x)

    AVFoundation.framework

    SystemConfiguration.framework

    Foundation.framework

    CoreTelephoney.framework

    AudioToolbox.framework

    UIKit.framework

    CoreLocation.framework

    AddressBook.framework

    QuartzCore.framework

    CoreGraphics.framework

    说实话,框架好多,并且大多数都是目前用不到,不过考虑到以后这篇文章还会继续增加,所以就一次贴出来吧.

     
        //设置sdk的log等级,log保存在下面设置的工作路径中
        [IFlySetting setLogFile:LVL_ALL];
        //打开输出在console的log开关
        [IFlySetting showLogcat:YES];
        //设置sdk的工作路径
        NSString *paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
        [IFlySetting setLogFilePath:paths];
        //创建语音配置,appid必须要传入,仅执行一次则可
        NSString *initString=[[NSString alloc]initWithFormat:@"appid=%@",APPID_VALUE];
        //所有服务启动前,需要确保执行createUtility
        [IFlySpeechUtility createUtility:initString];
     

    语音合成

     
    @interface ViewController ()<IFlySpeechSynthesizerDelegate>
    {
        //需要实现IFlySpeechSynthesizerDelegate合成会话的服务代理
        IFlySpeechSynthesizer *_iFlySpeechSynthesizer;
    }



    - (IBAction)read:(UIButton *)sender { //1.创建合成对象 _iFlySpeechSynthesizer=[IFlySpeechSynthesizer sharedInstance]; _iFlySpeechSynthesizer.delegate=self; //2.设置合成参数 //设置在线工作方式 [_iFlySpeechSynthesizer setParameter:[IFlySpeechConstant TYPE_CLOUD] forKey:[IFlySpeechConstant ENGINE_TYPE]]; //音量,取值范围 0~100 [_iFlySpeechSynthesizer setParameter:@"50" forKey:[IFlySpeechConstant VOLUME]]; //说话语速 [_iFlySpeechSynthesizer setParameter:@"42" forKey:[IFlySpeechConstant SPEED]]; //发音人,默认为”xiaoyan”,可以设置的参数列表可参考“合成发音人列表” [_iFlySpeechSynthesizer setParameter:@"xiaoyan" forKey:[IFlySpeechConstant VOICE_NAME]]; //保存合成文件名,如不再需要,设置设置为nil或者为空表示取消,默认目录位于 library/cache下 [_iFlySpeechSynthesizer setParameter:@"tts.pcm" forKey:[IFlySpeechConstant TTS_AUDIO_PATH]]; //3.启动合成会话 [_iFlySpeechSynthesizer startSpeaking:_world.text]; }
     

    IFlySpeechSynthesizerDelegate协议方法

     
    //结束代理
    -(void)onCompleted:(IFlySpeechError *)error
    {
        NSLog(@"结束代理");
    }
    //合成开始
    -(void)onSpeakBegin
    {
        NSLog(@"合成开始");
    }
    //合成缓冲进度
    -(void)onBufferProgress:(int)progress message:(NSString *)msg
    {
        NSLog(@"合成缓冲进度");
    }
    //合成播放进度
    -(void)onSpeakProgress:(int)progress
    {
        NSLog(@"合成缓冲进度");
    }
     

     

    为了更好点交流和学习,请大家在参阅博客后,留下你的疑问和宝贵意见。谢谢!!!!
  • 相关阅读:
    Markdown入门
    HTTP协议 keep-alive连接 与 BS(firefox-thttpd)实验
    emoji探寻之路
    JavaScript实现绑定DOM的定时器插件
    C语言 str2bin 和 bin2str 实现
    LUA OOP 单例模式实现的 一个 方案
    LUA OOP编程实现方法
    以一则LUA实例说明敏捷开发中“分离构造和使用”原则
    HTML 中按钮作为form表单元素提交特性两则 --- 参HTML考标准分析
    分享:一款前端布局工具(alloydesigner)
  • 原文地址:https://www.cnblogs.com/fshmjl/p/4838505.html
Copyright © 2011-2022 走看看