BBASMBackgroundAudioAdapterProtocol.h
2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//
// BBASMBackgroundAudioAdapterProtocol.h
// BBAMNP
//
// Created by baidu on 2019/2/28.
// Copyright © 2019 Baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BBASMBackgroundAudioHandleDelegate.h"
#import "BBASMAudioStatusDefine.h"
NS_ASSUME_NONNULL_BEGIN
@protocol BBASMBackgroundAudioAdapterProtocol <NSObject>
/**
* @brief 是否使用自定义后台音乐播放器。
* 默认为NO,若使用,请务必实现以下方法,同时需处理 BBASMBackgroundAudioHandleDelegate 回调
*/
+ (BOOL)shouldUseCustomBackgroundAudioPlayer;
/**
* @brief 调起音乐播放器
*
* @param info 音乐相关信息
* @example : {
* "epname" : [NSString],专辑名称 // 选填
* "title" : [NSString],音乐名称 // 选填
* "singer" : [NSString],歌手名字 // 选填
* "src" : [NSString],音乐链接 // 必填
* "coverImgUrl" : [NSString],封面图片 // 选填
* "startTime" : [NSString],播放开始时间 // 选填,默认为0
* "mnpAppID" : [NSString],小程序ID // 必填,用于自定义UI(如手百音乐播放器)跳回小程序使用
* }
* @param delegate BBASMBackgroundAudioHandleDelegate
* @return 调起是否成功
*/
+ (BOOL)invokePlayerWithAudioInfo:(NSDictionary *)info
andDelegate:(id<BBASMBackgroundAudioHandleDelegate>)delegate;
/**
* @brief 更新音乐相关信息
* @param info 音乐相关信息
* @example : {
* "epname" : [NSString],专辑名称 // 选填
* "title" : [NSString],音乐名称 // 选填
* "singer" : [NSString],歌手名字 // 选填
* "src" : [NSString],音乐链接 // 必填
* "coverImgUrl" : [NSString],封面图片 // 选填
* "startTime" : [NSString],播放开始时间 // 选填,默认为0
* }
*/
+ (BOOL)updatePlayerSource:(NSDictionary *)info;
/**
* @brief 音乐暂停
*/
+ (BOOL)pause;
/**
* @brief 音乐播放
*/
+ (BOOL)play;
/**
* @brief 音乐停止
*/
+ (void)stop;
/**
* @brief 跳到指定时间播放
*
* @param time 指定时间
* @param callback seek完成回调
*
* @note 原"seekToTime:"方法已废弃,2.19.0版本新增seek完成后的callback回调,请使用下列方法
*/
+ (BOOL)seekToTime:(NSTimeInterval)time callback:(void(^)(BOOL finished))callback;
/**
* @brief 当前播放状态
*/
+ (BBASMAudioPlayerStatus)currentStatus;
@optional
/**
* @brief 更新小程序状态前后台状态
*/
+ (BOOL)updatePlayerMode:(BBASMAudioPlayerMode)mode;
@end
NS_ASSUME_NONNULL_END