KSMergeEnginePlayer.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // KSMergeEnginePlayer.h
  3. // MutiPlayDemo
  4. //
  5. // Created by 王智 on 2024/6/17.
  6. //
  7. #import <Foundation/Foundation.h>
  8. @class KSMergeEnginePlayer;
  9. @protocol KSMergeEnginePlayerDelegate <NSObject>
  10. /// 播放进度回调
  11. /// - Parameters:
  12. /// - playTime: 播放时间
  13. /// - totalTime: 播放总时长
  14. /// - progress: 进度
  15. /// - currentInterval: 当前时间
  16. /// - player: 播放器对象
  17. - (void)updatePlayProgress:(NSInteger)playTime andTotalTime:(NSInteger)totalTime andProgress:(CGFloat)progress currentInterval:(NSTimeInterval)currentInterval inPlayer:(KSMergeEnginePlayer *_Nonnull)player;
  18. @optional
  19. - (void)enginePlayFinished:(KSMergeEnginePlayer *_Nonnull)player;
  20. - (void)enginePlayerIsReadyPlay:(KSMergeEnginePlayer *_Nonnull)player;
  21. - (void)enginePlayerDidError:(KSMergeEnginePlayer *_Nonnull)player error:(NSError *_Nonnull)error;
  22. @end
  23. NS_ASSUME_NONNULL_BEGIN
  24. @interface KSMergeEnginePlayer : NSObject
  25. @property (nonatomic, weak) id <KSMergeEnginePlayerDelegate>delegate;
  26. @property (nonatomic, assign) BOOL isReady;
  27. @property (nonatomic, assign) BOOL isPlaying;
  28. @property (nonatomic, assign) float bgVolume;
  29. @property (nonatomic, assign) float recordVolume;
  30. // 加载数据
  31. - (void)prepareNativeSongWithUrl:(NSURL *)recordAudioUrl bgMusic:(NSURL *)bgMusicUrl;
  32. // 修改录音真实延迟 delayMs
  33. - (void)changeRecordDelay:(NSInteger)delayMs;
  34. // 从某个位置开始播放 ms
  35. - (void)seekToTimePlay:(NSInteger)time;
  36. - (void)seekToTime:(NSInteger)time;
  37. // 调整偏移
  38. - (void)seekOffsetTime:(NSInteger)offsetTime;
  39. - (void)stopPlay;
  40. - (void)freePlayer;
  41. // 获取当前时间
  42. - (NSTimeInterval)getCurrentPlayTime;
  43. - (NSTimeInterval)getTotalTime;
  44. - (void)changeVolume:(float)bgVolume recordVolume:(float)recordVolume;
  45. @end
  46. NS_ASSUME_NONNULL_END