KSYBgmPlayer Class Reference

Inherits from NSObject
Declared in KSYBgmPlayer.h

Overview

背景音乐播放器

提供背景音乐播放的功能, 并能将被播放的音频数据通过回调送出

– startPlayBgm:isLoop:

开始播放背景音乐

- (BOOL)startPlayBgm:(NSString *)path isLoop:(BOOL)loop

Parameters

path

本地音乐的路径

loop

是否循环播放此音乐

Return Value

是否能够开始播放

Declared In

KSYBgmPlayer.h

– stopPlayBgm

停止播放背景音乐

- (void)stopPlayBgm

Declared In

KSYBgmPlayer.h

– stopPlayBgm:

停止播放背景音乐 @param 停止完成的回调函数

- (void)stopPlayBgm:(void ( ^ ) ( ))completion

Declared In

KSYBgmPlayer.h

– pauseBgm

暂停播放背景音乐

- (void)pauseBgm

Declared In

KSYBgmPlayer.h

– resumeBgm

恢复播放背景音乐

- (void)resumeBgm

Declared In

KSYBgmPlayer.h

– seekToTime:

seek到指定时间 (拖动进度条)

- (BOOL)seekToTime:(float)time

Parameters

time

时间, 请参考 bgmDuration (单位,秒)

Return Value

是否seek 成功

Discussion

从v3.1.0版本起,该方法返回值均为YES,推荐使用– seekToTime:onComplete:方法获取真正的返回结果

Declared In

KSYBgmPlayer.h

– seekToTime:onComplete:

seek到指定时间 (拖动进度条)

- (void)seekToTime:(float)time onComplete:(void ( ^ ) ( BOOL ))completion

Parameters

time

时间, 请参考 bgmDuration (单位,秒)

Return Value

是否seek 成功

Declared In

KSYBgmPlayer.h

– seekToProgress:

seek到指定进度 (拖动进度条)

- (BOOL)seekToProgress:(float)prog

Parameters

prog

进度, 请参考 bgmProgress

Return Value

是否seek 成功

Discussion

从v3.1.0版本起,该方法返回值均为YES,推荐使用– seekToProgress:onComplete:方法获取真正的返回结果

Declared In

KSYBgmPlayer.h

– seekToProgress:onComplete:

seek到指定进度 (拖动进度条)

- (void)seekToProgress:(float)prog onComplete:(void ( ^ ) ( BOOL ))completion

Parameters

prog

进度, 请参考 bgmProgress

Return Value

是否seek 成功

Declared In

KSYBgmPlayer.h

  bgmVolume

背景音乐的音量

@property (nonatomic, assign) double bgmVolume

Discussion

调整范围 0.0~1.0

仅仅调整播放的音量, 不影响回调的音频数据

Declared In

KSYBgmPlayer.h

  bgmPitch

播放声音的音调

@property (nonatomic, assign) double bgmPitch

Discussion

调整范围 [-24.0 ~ 24.0], 默认为0.01, 单位为半音

0.01 为1度, 1.0为一个半音, 12个半音为1个八度

Declared In

KSYBgmPlayer.h

  playRate

播放速率

@property (nonatomic, assign) double playRate

Discussion

调整范围 0.5 ~ 2.0,默认值 1.0

Declared In

KSYBgmPlayer.h

  bMuteBgmPlay

背景音乐播放静音

@property (nonatomic, assign) BOOL bMuteBgmPlay

Discussion

仅仅静音播放, 不影响回调的音频数据

Declared In

KSYBgmPlayer.h

  bShouldAutoPlay

调用startPlayBgm后是否立刻启动播放,默认为YES

@property (nonatomic, assign) BOOL bShouldAutoPlay

Discussion

如果设置NO,则播放准备工作完成后进入pause状态,启动播放需调用resumeBgm方法

Declared In

KSYBgmPlayer.h

  callBackRawData

设置 audioDataBlock 是否返回原始数据

@property (nonatomic, assign) BOOL callBackRawData

Discussion

默认为NO,audioDataBlock 返回的数据为经过变速、变调后的数据 如果为YES,audioDataBlock 返回的数据为原始数据

Declared In

KSYBgmPlayer.h

  audioDataBlock

音频数据输出回调

@property (nonatomic, copy) BOOL ( ^ ) ( uint8_t **pData , int len , const AudioStreamBasicDescription *fmt , CMTime pts ) audioDataBlock

Discussion

sampleBuffer 从音乐文件中解码得到的PCM数据

Declared In

KSYBgmPlayer.h

  bgmFinishBlock

当背景音乐播放完成时,调用此回调函数

@property (nonatomic, copy) void ( ^ ) ( void ) bgmFinishBlock

Discussion

只有设置 loop为NO时才有效, 在开始播放前设置有效

Declared In

KSYBgmPlayer.h

  bgmDuration

背景音的duration信息(总时长, 单位:秒)

@property (nonatomic, readonly) float bgmDuration

Declared In

KSYBgmPlayer.h

  bgmPlayTime

背景音的已经播放长度 (单位:秒)

@property (nonatomic, readonly) float bgmPlayTime

Discussion

从0开始,最大为bgmDuration长度

Declared In

KSYBgmPlayer.h

  bgmProcess

音频的播放进度

@property (nonatomic, readonly) float bgmProcess

Discussion

取值从0.0~1.0,大小为bgmPlayTime/bgmDuration;

Declared In

KSYBgmPlayer.h

  isRunning

音频播放是否运行

@property (nonatomic, readonly) BOOL isRunning

Discussion

音频是否输出到speaker播放

Declared In

KSYBgmPlayer.h

  audioErrorCode

播放错误码

@property (nonatomic, readonly) OSStatus audioErrorCode

Discussion

播放错误码具体内容可以参考AudioQueue的Apple文档。

Declared In

KSYBgmPlayer.h

  bgmPlayerState

播放状态

@property (nonatomic, readonly) KSYBgmPlayerState bgmPlayerState

Declared In

KSYBgmPlayer.h

  bLoop

单曲循环

@property (nonatomic, assign) BOOL bLoop

Declared In

KSYBgmPlayer.h

– getBgmStateName:

获取状态对应的字符串

- (NSString *)getBgmStateName:(KSYBgmPlayerState)stat

Parameters

stat

状态

Declared In

KSYBgmPlayer.h

– getCurBgmStateName

获取当前状态对应的字符串

- (NSString *)getCurBgmStateName

Declared In

KSYBgmPlayer.h