1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- //
- // KSMergeEnginePlayer.h
- // MutiPlayDemo
- //
- // Created by 王智 on 2024/6/17.
- //
- #import <Foundation/Foundation.h>
- #import "KSRealtimeAnalyzer.h"
- @class KSMergeEnginePlayer;
- @protocol KSMergeEnginePlayerDelegate <NSObject>
- /// 播放进度回调
- /// - Parameters:
- /// - playTime: 播放时间
- /// - totalTime: 播放总时长
- /// - progress: 进度
- /// - currentInterval: 当前时间
- /// - player: 播放器对象
- - (void)updatePlayProgress:(NSInteger)playTime andTotalTime:(NSInteger)totalTime andProgress:(CGFloat)progress currentInterval:(NSTimeInterval)currentInterval inPlayer:(KSMergeEnginePlayer *_Nonnull)player;
- @optional
- - (void)enginePlayFinished:(KSMergeEnginePlayer *_Nonnull)player;
- - (void)enginePlayerIsReadyPlay:(KSMergeEnginePlayer *_Nonnull)player;
- - (void)enginePlayerDidError:(KSMergeEnginePlayer *_Nonnull)player error:(NSError *_Nonnull)error;
- // 动效相关
- - (void)player:(KSMergeEnginePlayer *_Nonnull)player didGenerateSpectrum:(NSArray<NSArray<NSNumber *> *> *_Nonnull)spectra;
- @end
- NS_ASSUME_NONNULL_BEGIN
- @interface KSMergeEnginePlayer : NSObject
- // 是否需要分析音频
- @property (nonatomic, assign) BOOL needAnalyzer;
- @property (nonatomic, strong, nullable) KSRealtimeAnalyzer *analyzer;
- @property (nonatomic, weak) id <KSMergeEnginePlayerDelegate>delegate;
- @property (nonatomic, assign) BOOL isReady;
- @property (nonatomic, assign) BOOL isPlaying;
- @property (nonatomic, assign) float bgVolume;
- @property (nonatomic, assign) float recordVolume;
- // 加载数据
- - (void)prepareNativeSongWithUrl:(NSURL *)recordAudioUrl bgMusic:(NSURL *)bgMusicUrl;
- // 修改录音真实延迟 delayMs
- - (void)changeRecordDelay:(NSInteger)delayMs;
- // 从某个位置开始播放 ms
- - (void)seekToTimePlay:(NSInteger)time;
- - (void)seekToTime:(NSInteger)time;
- // 调整偏移
- - (void)seekOffsetTime:(NSInteger)offsetTime;
- - (void)stopPlay;
- - (void)freePlayer;
- // 获取当前时间
- - (NSTimeInterval)getCurrentPlayTime;
- - (NSTimeInterval)getTotalTime;
- - (void)changeVolume:(float)bgVolume recordVolume:(float)recordVolume;
- @end
- NS_ASSUME_NONNULL_END
|