QCloudMediaPlayer.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // QCloudMediaPlayer.h
  3. // cloud-tts-sdk-ios
  4. //
  5. // Created by renqiu on 2022/1/11.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #import <QCloudTTS/QCPlayerError.h>
  9. @protocol QCloudPlayerDelegate <NSObject>
  10. //播放开始
  11. -(void) onTTSPlayStart;
  12. //队列所有音频播放完成,音频等待中
  13. -(void) onTTSPlayWait;
  14. //恢复播放
  15. -(void) onTTSPlayResume;
  16. //暂停播放
  17. -(void) onTTSPlayPause;
  18. //播放中止
  19. -(void)onTTSPlayStop;
  20. //即将播放播放下一句,即将播放音频对应的句子,以及这句话utteranceId
  21. /// 即将播放播放下一句,即将播放音频对应的句子,以及这句话utteranceId
  22. /// @param text 当前播放句子的文本
  23. /// @param utteranceId 当前播放音频对应的ID
  24. -(void) onTTSPlayNextWithText:(NSString* _Nullable)text UtteranceId:(NSString* _Nullable)utteranceId;
  25. //播放器异常
  26. -(void)onTTSPlayError:(QCPlayerError* _Nullable)playError;
  27. /// 当前播放的字符,当前播放的字符在所在的句子中的下标.
  28. /// @param currentWord 当前读到的单个字,是一个估算值不一定准确
  29. /// @param currentIdex 当前播放句子中读到文字的下标
  30. -(void)onTTSPlayProgressWithCurrentWord:(NSString*_Nullable)currentWord CurrentIndex:(NSInteger)currentIdex;
  31. @end
  32. /// <#Description#>
  33. @interface QCloudMediaPlayer : NSObject
  34. @property (assign,nonnull)id <QCloudPlayerDelegate>playerDelegate;
  35. //
  36. /// 数据入队列
  37. /// @param data 加入队列的音频
  38. /// @param text 音频对应的文本
  39. /// @param utteranceId 音频对应的ID
  40. -(void)enqueueWithData:(NSData* _Nonnull )data Text:(NSString* _Nullable)text UtteranceId:(NSString* _Nullable)utteranceId;
  41. /// 数据入队列
  42. /// @param file 加入队列的音频文件
  43. /// @param text 音频文件对应的文本
  44. /// @param utteranceId 音频文件对应的ID
  45. -(void)enqueueWithFile:(NSURL* _Nullable)file Text:(NSString* _Nullable)text UtteranceId:(NSString* _Nullable)utteranceId;
  46. //
  47. /// 停止播放
  48. -(QCPlayerError* _Nullable)StopPlay;
  49. /// 暂停播放
  50. -(QCPlayerError* _Nullable)PausePlay;
  51. /// 恢复播放
  52. -(QCPlayerError* _Nullable)ResumePlay;
  53. -(NSInteger)getAudioQueueSize;
  54. @end
  55. @interface QCloudTTSProxy : NSProxy
  56. - (instancetype _Nullable )initWithObjc:(id _Nullable)object;
  57. @end