AudioEnginePlayer.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // AudioEnginePlayer.h
  3. // KulexiuForStudent
  4. //
  5. // Created by 王智 on 2024/6/4.
  6. //
  7. #import <Foundation/Foundation.h>
  8. @class AudioEnginePlayer;
  9. @protocol AudioEnginePlayerDelegate <NSObject>
  10. - (void)updatePlayProgress:(NSInteger)playTime andTotalTime:(NSInteger)totalTime andProgress:(CGFloat)progress currentInterval:(NSTimeInterval)currentInterval inPlayer:(AudioEnginePlayer *_Nonnull)player;
  11. @optional
  12. - (void)enginePlayFinished:(AudioEnginePlayer *_Nonnull)player;
  13. - (void)enginePlayerIsReadyPlay:(AudioEnginePlayer *_Nonnull)player;
  14. - (void)enginePlayerDidError:(AudioEnginePlayer *_Nonnull)player error:(NSError *_Nonnull)error;
  15. @end
  16. NS_ASSUME_NONNULL_BEGIN
  17. @interface AudioEnginePlayer : NSObject
  18. @property (nonatomic, weak) id <AudioEnginePlayerDelegate>delegate;
  19. @property (nonatomic, assign) float rate; // 播放速度
  20. @property (nonatomic, assign) BOOL isReady;
  21. @property (nonatomic, assign) BOOL isPlaying;
  22. @property (nonatomic, assign) BOOL isMute; // 是否禁音
  23. - (void)prepareNativeSongWithUrl:(NSURL *)nativeMusicUrl;
  24. - (void)startPlay;
  25. - (void)stopPlay;
  26. - (void)freePlayer;
  27. // 从某个位置开始播放 ms
  28. - (void)seekToTimePlay:(NSInteger)time;
  29. - (NSTimeInterval)getCurrentPlayTime;
  30. @end
  31. NS_ASSUME_NONNULL_END