IFlySpeechSynthesizer.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. //
  2. // IFlySpeechSynthesizer.h
  3. // MSC
  4. //
  5. // Created by ypzhao on 13-3-21.
  6. // Copyright (c) 2013年 iflytek. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "IFlySpeechSynthesizerDelegate.h"
  10. /*!
  11. * 语音合成
  12. */
  13. @interface IFlySpeechSynthesizer : NSObject
  14. /*!
  15. * 设置识别的委托对象
  16. */
  17. @property(nonatomic,assign) id<IFlySpeechSynthesizerDelegate> delegate;
  18. /*!
  19. * 返回合成对象的单例
  20. *
  21. * @return 合成对象
  22. */
  23. + (instancetype) sharedInstance;
  24. /*!
  25. * 销毁合成对象。
  26. *
  27. * @return 成功返回YES,失败返回NO.
  28. */
  29. + (BOOL) destroy;
  30. /*
  31. * | ------------- |-----------------------------------------------------------
  32. * | 参数 | 描述
  33. * | ------------- |-----------------------------------------------------------
  34. * | speed |合成语速,取值范围 0~100
  35. * | ------------- |-----------------------------------------------------------
  36. * | volume |合成的音量,取值范围 0~100
  37. * | ------------- |-----------------------------------------------------------
  38. * | voice_name |默认为”xiaoyan”;可以设置的参数列表可参考个性化发音人列表
  39. * | ------------- |-----------------------------------------------------------
  40. * | sample_rate |采样率:目前支持的采样率设置有 16000 和 8000。
  41. * | ------------- |-----------------------------------------------------------
  42. * | tts_audio_path|音频文件名 设置此参数后,将会自动保存合成的音频文件。
  43. * | |路径为Documents/(指定值)。不设置或者设置为nil,则不保存音频。
  44. * | ------------- |-----------------------------------------------------------
  45. * | params |扩展参数: 对于一些特殊的参数可在此设置。
  46. * | ------------- |-----------------------------------------------------------
  47. *
  48. */
  49. /*!
  50. * 设置合成参数
  51. * <table>
  52. * <thead>
  53. * <tr><th>参数</th><th><em>描述</em></th>
  54. * </tr>
  55. * </thead>
  56. * <tbody>
  57. * <tr><td>speed</td><td>合成语速,取值范围 0~100</td></tr>
  58. * <tr><td>volume</td><td>合成的音量,取值范围 0~100</td></tr>
  59. * <tr><td>voice_name</td><td>默认为”xiaoyan”;可以设置的参数列表可参考个性化发音人列表</td></tr>
  60. * <tr><td>sample_rate</td><td>采样率:目前支持的采样率设置有 16000 和 8000。</td></tr>
  61. * <tr><td>tts_audio_path</td><td>音频文件名 设置此参数后,将会自动保存合成的音频文件。<br/>路径为Documents/(指定值)。不设置或者设置为nil,则不保存音频。</td></tr>
  62. * <tr><td>params</td><td>扩展参数: 对于一些特殊的参数可在此设置。</td></tr>
  63. * </tbody>
  64. * </table>
  65. *
  66. * @param value 参数取值
  67. * @param key 合成参数
  68. *
  69. * @return 设置成功返回YES,失败返回NO
  70. */
  71. -(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
  72. /*!
  73. * 获取合成参数
  74. *
  75. * @param key 参数key
  76. *
  77. * @return 参数值
  78. */
  79. -(NSString*) parameterForKey:(NSString *)key;
  80. /*!
  81. * 开始合成(播放)
  82. * 调用此函数进行合成,如果发生错误会回调错误`onCompleted`
  83. *
  84. * @param text 合成的文本,最大的字节数为1k
  85. */
  86. - (void) startSpeaking:(NSString *)text;
  87. /*!
  88. * 开始合成(不播放)
  89. * 调用此函数进行合成,如果发生错误会回调错误`onCompleted`
  90. *
  91. * @param text 合成的文本,最大的字节数为1k
  92. * @param uri 合成后,保存再本地的音频路径
  93. */
  94. -(void)synthesize:(NSString *)text toUri:(NSString*)uri;
  95. /*!
  96. * 暂停播放
  97. * 暂停播放之后,合成不会暂停,仍会继续,如果发生错误则会回调错误`onCompleted`
  98. */
  99. - (void) pauseSpeaking;
  100. /*!
  101. * 恢复播放
  102. */
  103. - (void) resumeSpeaking;
  104. /*!
  105. * 停止播放并停止合成
  106. */
  107. - (void) stopSpeaking;
  108. /*!
  109. * 是否正在播放
  110. */
  111. @property (nonatomic, readonly) BOOL isSpeaking;
  112. @end