NIMAudioObject.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // NIMAudioObject.h
  3. // NIMLib
  4. //
  5. // Created by Netease.
  6. // Copyright (c) 2015年 Netease. All rights reserved.
  7. //
  8. #import "NIMMessageObjectProtocol.h"
  9. NS_ASSUME_NONNULL_BEGIN
  10. /**
  11. * 语音实例对象
  12. */
  13. @interface NIMAudioObject : NSObject<NIMMessageObject>
  14. /**
  15. * 语音对象初始化方法
  16. *
  17. * @param sourcePath 语音路径
  18. *
  19. * @return 语音实例对象
  20. */
  21. - (instancetype)initWithSourcePath:(NSString *)sourcePath;
  22. /**
  23. * 语音对象初始化方法
  24. *
  25. * @param data 语音数据
  26. * @param extension 语音数据文件后缀名
  27. *
  28. * @return 语音实例对象
  29. */
  30. - (instancetype)initWithData:(NSData *)data
  31. extension:(NSString *)extension;
  32. /**
  33. * 语音对象初始化方法
  34. *
  35. * @param sourcePath 语音路径
  36. * @param scene 场景类别
  37. *
  38. * @return 语音实例对象
  39. */
  40. - (instancetype)initWithSourcePath:(NSString *)sourcePath scene:(NSString *)scene;
  41. /**
  42. * 语音对象初始化方法
  43. *
  44. * @param data 语音数据
  45. * @param extension 语音数据文件后缀名
  46. * @param scene 场景类别
  47. *
  48. * @return 语音实例对象
  49. */
  50. - (instancetype)initWithData:(NSData *)data
  51. extension:(NSString *)extension
  52. scene:(NSString *)scene;
  53. /**
  54. * 语音的本地路径
  55. */
  56. @property (nullable, nonatomic, copy, readonly) NSString *path;
  57. /**
  58. * 语音的远程路径
  59. */
  60. @property (nullable, nonatomic, copy, readonly) NSString *url;
  61. /**
  62. * 语音时长,毫秒为单位
  63. * @discussion SDK会根据传入文件信息自动解析出duration,但上层也可以自己设置这个值
  64. */
  65. @property (nonatomic, assign) NSInteger duration;
  66. /**
  67. * 音频MD5
  68. */
  69. @property (nullable,nonatomic, copy, readonly) NSString *md5;
  70. @end
  71. NS_ASSUME_NONNULL_END