版权音乐
- Android
更新时间不可用
createMusicPlayer
创建一个音乐播放器。
public abstract IAgoraMusicPlayer createMusicPlayer();如果你需要播放来自音乐内容中心的音乐资源,必须先调用该方法。
返回值
- 方法调用成功,返回 IAgoraMusicPlayer 对象。
- 方法调用失败,返回
null。
所属接口类
destroy
销毁 IAgoraMusicContentCenter 实例。
public static synchronized void destroy()你必须在调用 destroy 方法之前调用该方法。
所属接口类
destroy
销毁音乐播放器。
@Deprecated @Override int destroy();废弃
该方法已废弃,请改用 destroyMusicPlayer。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
destroyMusicPlayer
销毁音乐播放器对象。
public abstract int destroyMusicPlayer(IAgoraMusicPlayer player);如果在销毁后需要再次使用音乐播放器,必须调用 createMusicPlayer 方法重新创建。
调用时机
你可以在加入频道前或加入频道后调用此方法,但必须确保在调用 destroy 方法之前调用此方法。
参数
| 参数名 | 描述 |
|---|---|
player | 音乐播放器对象。详见 IAgoraMusicPlayer。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
getCaches
获取已缓存的音乐资源信息。
public abstract MusicCacheInfo[] getCaches();在调用该方法前,你需要预先分配内存空间,用于存储已缓存音乐资源的信息。如果需要设置可缓存的音乐资源数量,可以通过 initialize 的 configuration 参数进行配置。当不再需要这些缓存的音乐资源时,应及时释放内存,避免内存泄漏。
返回值
- 方法调用成功,返回包含 MusicCacheInfo 对象的数组。
- 方法调用失败,返回
null。
所属接口类
getInternalSongCode
创建音乐资源副歌片段的内部标识符。
public abstract long getInternalSongCode(long songCode, String jsonOption);在播放音乐资源的副歌片段前,需调用该方法,结合音乐资源的 songCode 和 jsonOption 参数创建副歌片段的内部标识符。该标识符作为资源的唯一引用。在调用相关方法以打开、预加载或移除资源时,应将该标识符作为 songCode 参数传入。
参数
| 参数名 | 描述 |
|---|---|
songCode | 音乐资源的标识符。可通过调用 |
jsonOption | 注: 扩展 JSON 字段,默认为
|
返回值
- 方法调用成功,返回创建的音乐资源内部标识符。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
getLyric
获取音乐资源歌词的下载链接。
public abstract String getLyric(long songCode, int lyricType);相关回调
调用该方法后,SDK 会触发 onLyricResult 回调。
参数
返回值
- 方法调用成功时,返回唯一标识该请求的
requestId。 - 方法调用失败,返回空字符串。
所属接口类
getMusicCharts
获取所有音乐排行榜。
public abstract String getMusicCharts();调用该方法时,SDK 会触发 onMusicChartsResult 回调,返回音乐排行榜的详细信息。
相关回调
该方法调用后会触发 onMusicChartsResult 回调。
返回值
- 方法调用成功时,返回请求的唯一标识符
requestId。 - 方法调用失败,返回空字符串。
所属接口类
getMusicCollectionByMusicChartId [1/2]
根据音乐榜单 ID 获取音乐资源列表。
public String getMusicCollectionByMusicChartId(int musicChartId, int page, int pageSize)成功调用该方法后,SDK 会触发 onMusicCollectionResult 回调,返回榜单中的音乐资源详细信息。
参数
| 参数名 | 描述 |
|---|---|
musicChartId | |
page | |
pageSize |
返回值
- 方法调用成功时,返回唯一标识此次请求的
requestId。 - 方法调用失败,返回空字符串。
所属接口类
getMusicCollectionByMusicChartId [2/2]
根据音乐榜单 ID 获取音乐资源列表。
public abstract String getMusicCollectionByMusicChartId(int musicChartId, int page, int pageSize, String jsonOption);成功调用该方法后,SDK 会触发 onMusicCollectionResult 回调,返回榜单中的音乐资源详细信息。
相关回调
成功调用该方法后,SDK 会触发 onMusicCollectionResult 回调,返回榜单中的音乐资源详细信息。
参数
| 参数名 | 描述 |
|---|---|
musicChartId | 音乐榜单的 ID。可通过 onMusicChartsResult 回调获取。你也可以使用 RESTful API 获取完整音乐库列表或增量音乐列表。 |
page | |
pageSize | |
jsonOption |
返回值
- 方法调用成功时,返回请求的唯一标识符
requestId。 - 方法调用失败,返回空字符串。
所属接口类
getPlaySrc [2/2]
获取当前播放的音乐资源的标识符或 URL。
@Override String getPlaySrc();你需要在打开音乐资源后调用此方法:
- 如果使用
open(Uri uri, long startPos)打开音乐资源,该方法返回音乐资源的标识符(songCode)。 - 如果使用
open(String url, long startPos)打开音乐资源,该方法返回音乐资源的 URL。
返回值
- 方法调用成功时,返回音乐资源的标识符或 URL。
- 方法调用失败,返回空字符串。
所属接口类
getSongSimpleInfo
检索特定音乐资源的详细信息。
public abstract String getSongSimpleInfo(long songCode);在调用该方法前,你需要先获取目标音乐资源的标识符。你可以通过调用 getMusicCollectionByMusicChartId 或 searchMusic 方法获取音乐资源,并通过触发的 onMusicCollectionResult 回调获取音乐资源标识符(songCode)。
注: 成功调用该方法后,SDK 会触发 onSongSimpleInfoResult 回调,报告音乐资源的详细信息。
参数
返回值
- 方法调用成功时,返回唯一标识此次请求的
requestId。 - 方法调用失败,返回空字符串。
所属接口类
initialize
public abstract int initialize(MusicContentCenterConfiguration configuration);在调用 initialize 方法前,必须先进行初始化,才能调用其他方法。
参数
| 参数名 | 描述 |
|---|---|
configuration |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
isPreloaded
检查指定音乐资源是否已预加载。
public abstract int isPreloaded(long songCode);该方法为同步调用。
参数
返回值
- 0:方法调用成功,音乐资源已预加载。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
open [2/2]
通过 URL 打开音乐资源。
int open(String url, long startPos)调用该方法会触发 onPlayerStateChanged 回调。在收到播放状态为 OPEN_COMPLETED 的上报后,你可以调用 play 方法播放媒体文件。
注: 如果你要打开的音乐资源受数字版权保护,必须使用此方法打开。对于不受数字版权保护的音乐资源,你可以选择使用此方法,或使用 open 方法打开。
相关回调
调用该方法会触发 onPlayerStateChanged 回调。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。详见
错误码获取详细信息和排查建议。
所属接口类
open [1/2]
通过资源 ID 打开音乐资源。
int open(long songCode, long startPos);调用该方法后,将触发 onPlayerStateChanged 回调。当你收到 OPEN_COMPLETED 状态后,可以调用 play 方法播放媒体文件。
注: 如果要打开的音乐资源受数字版权管理保护,必须使用该方法。对于未受数字版权管理保护的音乐资源,可以使用该方法或 open 方法(参数为 String url, long startPos)。
相关回调
调用该方法后,将触发 onPlayerStateChanged 回调。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
preload [1/2]
预加载音乐资源。
public abstract int preload(long songCode, String jsonOption)废弃
该方法已废弃,请改用 preload [2/2]。
调用成功后,SDK 会触发 onPreLoadEvent 回调报告预加载事件。在调用该方法前,你需要先调用 getMusicCollectionByMusicChartId 或 searchMusic 获取音乐资源,并从 onMusicCollectionResult 回调中获取资源标识符(songCode)。
注: 销毁 RtcEngine 对象前,请确保在收到 onPreLoadEvent 回调后调用 destroy [2/2] 方法。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
preload [2/2]
预加载版权音乐资源。
public abstract String preload(long songCode);成功调用该方法后,SDK 会触发 onPreLoadEvent 回调,报告预加载事件。在调用该方法前,你需要先调用 getMusicCollectionByMusicChartId 或 searchMusic 获取你想播放的版权音乐资源,并通过这些方法触发的 onMusicCollectionResult 回调获取音乐资源标识符(songCode)。
注: 销毁 RtcEngine 对象前,请确保在收到 onPreLoadEvent 回调后再调用 destroy [2/2] 方法。
参数
返回值
- 方法调用成功时,返回请求的唯一标识符
requestId。 - 方法调用失败,返回空字符串。
所属接口类
registerEventHandler
注册版权音乐内容中心的回调事件。
public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler);参数
| 参数名 | 描述 |
|---|---|
eventHandler | 要注册的回调事件。详见 IMusicContentCenterEventHandler。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
removeCache
删除已缓存的音乐资源。
public abstract int removeCache(long songCode);若需删除多个音乐资源,可多次调用此方法。
注: removeCache 不会删除当前正在播放的已缓存音乐资源。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
renewToken
更新 Token。
public abstract int renewToken(String token);当用于鉴权的 Token 即将过期或已经过期时,可以调用该方法传入新生成的 Token。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
searchMusic [1/2]
搜索音乐资源。
public String searchMusic(String keyword, int page, int pageSize)调用该方法后,SDK 会触发 onMusicCollectionResult 回调,返回检索到的音乐资源列表。
参数
返回值
- 方法调用成功时,返回唯一标识该请求的
requestId。 - 方法调用失败,返回空字符串。
所属接口类
searchMusic [2/2]
搜索音乐资源。
public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption);相关回调
成功调用该方法后,SDK 会触发 onMusicCollectionResult 回调报告检索到的音乐资源列表。
参数
返回值
- 方法调用成功时,返回唯一标识该请求的
requestId。 - 方法调用失败,返回空字符串。
所属接口类
setPlayMode
设置音乐曲目的播放模式。
int setPlayMode(MusicPlayMode mode);如果你未调用该方法设置播放模式,默认播放人声伴奏;如果音乐资源不包含人声伴奏,则播放原唱。
注: 你可以通过 onMusicCollectionResult 回调获取音乐资源的详细信息,并使用该回调中的 list 参数查看该版权音乐支持的播放模式。
适用场景
在在线 K 歌或才艺展示等娱乐场景中,如果你需要播放由声网内容中心提供的版权音乐,可以调用该方法设置播放模式。
调用时机
你必须在调用 createMusicPlayer 方法之后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
mode | 播放模式,详见 MusicPlayMode。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -2:参数无效,请重新设置参数。
所属接口类
stop [2/2]
停止播放音乐资源。
@Override int stop();返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
unregisterEventHandler
取消注册版权音乐内容中心的事件回调。
public abstract int unregisterEventHandler();返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onLyricResult
歌词下载链接回调。
@CalledByNative void onLyricResult(String requestId, long songCode, String lyricUrl, int reason);调用 getLyric 后,SDK 会触发该回调。
触发时机
该回调在调用 getLyric 方法后被触发。
参数
| 参数名 | 描述 |
|---|---|
requestId | |
songCode | |
lyricUrl | |
reason | 来自版权音乐内容中心的请求状态码:
|
所属接口类
onMusicChartsResult
获取音乐排行榜后的回调。
@CalledByNative void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason);该回调在调用 getMusicCharts 后被触发。
触发时机
该回调在调用 getMusicCharts 方法后被触发。
参数
| 参数名 | 描述 |
|---|---|
requestId | |
list | 当前可播放的音乐排行榜列表,详见 MusicChartInfo。 |
reason | 来自音乐内容中心的请求状态码:
|
所属接口类
onMusicCollectionResult
获取音乐资源列表的回调。
void onMusicCollectionResult(String requestId, int page, int pageSize, int total, Music[] list, int reason)该回调在调用 getMusicCollectionByMusicChartId 或 searchMusic 时触发。
参数
| 参数名 | 描述 |
|---|---|
requestId | |
page | |
pageSize | |
total | |
list | 音乐资源列表的详细信息,详见 Music。 |
reason | 来自声网音乐内容中心的请求状态码:
|
所属接口类
onPreLoadEvent
预加载音乐资源事件的回调。
void onPreLoadEvent(String requestId, long songCode, int percent, String lyricUrl, int state, int reason)调用 preload 方法预加载音乐资源后,SDK 会触发该回调。
触发时机
该回调在调用 preload 方法后被触发。
参数
| 参数名 | 描述 |
|---|---|
requestId | |
songCode | |
percent | |
lyricUrl | |
state | |
reason | 来自 Music Content Center 的请求状态码:
|
所属接口类
onSongSimpleInfoResult
获取音乐资源详细信息的回调。
void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason);触发时机
该回调在调用 getSongSimpleInfo 后被触发。
参数
| 参数名 | 描述 |
|---|---|
requestId | |
songCode | |
simpleInfo | |
reason | 来自音乐内容中心的请求状态码:
|