KSAudioEnginePlayer.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // KSAudioEnginePlayer.h
  3. // KulexiuForStudent
  4. //
  5. // Created by 王智 on 2024/5/22.
  6. //
  7. #import <Foundation/Foundation.h>
  8. @class KSAudioEnginePlayer;
  9. @protocol KSAudioEnginePlayerDelegate <NSObject>
  10. - (void)updatePlayProgress:(NSInteger)playTime andTotalTime:(NSInteger)totalTime andProgress:(CGFloat)progress currentInterval:(NSTimeInterval)currentInterval inPlayer:(KSAudioEnginePlayer *_Nonnull)player;
  11. @optional
  12. - (void)enginePlayFinished:(KSAudioEnginePlayer *_Nonnull)player;
  13. - (void)enginePlayerIsReadyPlay:(KSAudioEnginePlayer *_Nonnull)player;
  14. - (void)enginePlayerDidError:(KSAudioEnginePlayer *_Nonnull)player error:(NSError *_Nullable)error;
  15. @end
  16. NS_ASSUME_NONNULL_BEGIN
  17. @interface KSAudioEnginePlayer : NSObject
  18. @property (nonatomic, weak) id <KSAudioEnginePlayerDelegate>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