背景音频

优质
小牛编辑
124浏览
2023-12-01

BackgroundAudioManager jd.getBackgroundAudioManager()

获取全局唯一的背景音频管理器。 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。

返回值

BackgroundAudioManager

BackgroundAudioManager

BackgroundAudioManager 实例,可通过 jd.getBackgroundAudioManager 接口获取实例。

属性

string src

音频的数据源。默认为空字符串,当设置了新的 src 时,会自动开始播放,目前支持的格式有 m4a, aac, mp3, wav。

number startTime

开始播放的位置(单位:s),默认为 0 注意

  • 只有在BackgroundAudioManager实例初始化,或者调用BackgroundAudioManager.stop()后,该属性才起作用

string title

音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。

string epname

专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

string singer

歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

string coverImgUrl

封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。

string webUrl

页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。

string protocol

音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。

number duration

当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读)

number currentTime

当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读)

boolean paused

当前是是否暂停或停止状态(只读)

number buffered

音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读)

方法

BackgroundAudioManager.play()

播放

错误
错误码说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误

BackgroundAudioManager.pause()

暂停。暂停后的音频再播放会从暂停处开始播放

错误
错误码说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误

BackgroundAudioManager.stop()

停止。停止后的音频再播放会从头开始播放。

错误
错误码说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误

BackgroundAudioManager.seek(number position)

跳转到指定位置

参数

number position 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度

错误
错误码说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误

BackgroundAudioManager.onCanplay(function callback)

监听音频进入可以播放状态的事件。但不保证后面可以流畅播放

参数

function callback 背景音频进入可播放状态事件的回调函数

BackgroundAudioManager.onPlay(function callback)

监听背景音频播放事件

参数

function callback 背景音频播放事件的回调函数

BackgroundAudioManager.onPause(function callback)

监听背景音频暂停事件

参数

function callback 背景音频暂停事件的回调函数

BackgroundAudioManager.onStop(function callback)

监听背景音频停止事件

参数

function callback 背景音频停止事件的回调函数

BackgroundAudioManager.onEnded(function callback)

监听背景音频自然播放至结束的事件

参数

function callback 背景音频自然播放至结束的事件的回调函数

BackgroundAudioManager.onTimeUpdate(function callback)

监听背景音频播放进度更新事件

参数

function callback 背景音频播放进度更新事件的回调函数

BackgroundAudioManager.onError(function callback)

监听背景音频播放错误事件

参数

function callback 背景音频播放错误事件的回调函数

BackgroundAudioManager.onWaiting(function callback)

监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发

参数

function callback 音频加载中事件的回调函数

BackgroundAudioManager.onNext(function callback)

监听用户在系统音乐播放面板点击下一曲事件(仅iOS)

参数

function callback 用户在系统音乐播放面板点击下一曲事件的回调函数

BackgroundAudioManager.onPrev(function callback)

监听用户在系统音乐播放面板点击上一曲事件(仅iOS)

参数

function callback 用户在系统音乐播放面板点击上一曲事件的回调函数

示例代码

    const backgroundAudioManager = jd.getBackgroundAudioManager();
    backgroundAudioManager.title = 'title';
    backgroundAudioManager.epname = 'epname';
    backgroundAudioManager.singer = 'singer';
    backgroundAudioManager.coverImgUrl = 'https://coverImgUrl.png';
    backgroundAudioManager.onPlay(() => {
        console.log('开始播放')
    });
    backgroundAudioManager.onError((res) => {
        console.log(res);
    });
    //设置src之后会自动播放
    backgroundAudioManager.src = 'test.mp3';