《微信小程序开发从入门到实战》学习八十

2024-01-11  本文已影响0人  阿宅白石

6.11 内部音频API

小程序播放音频的方式有两种:内部音频和背景音频。内部音频支持用户使用小程序时播放音频;背景音频支持用户离开小程序后继续播放音频。

6.11.1内部音频API

使用wx.createInnerAudioContext接口创建内部音频上下文对象。在上下文对象设置些属性值。代码如下:

    const innerAudioContext = wx.createInnerAudioContext()

    // 设置为自动开始播放

    innerAudioContext.autoplay = true

    // 设置音频资源地址

    innerAudioContext.src = 'http://xxx.mp3'

在内部音频上下文对象中,可设置其他很多属性。名称和功能如下所示:

src:音频资源的地址,基础库2.2.3开始支持云文件ID

startTime:从音频的第几秒开始播放,默认0

autoplay:是否自动开始播放,默认false

loop:是否循环博美,默认false

obeyMuteSwitch:是否遵循系统静音开关。当参数为false时,即使用户手机设置为静音,也能继续发出声音。从基础库2.3.0版本开始此参数不生效,需要使用wx.setInnerAudioOption接口进行设置,默认true

volume:音量,范围0~1

    内部音频上下文对象的一些属性可以读取到关于内部音频的信息。它们是只读属性,只能查询它们的值,但不可以修改。这些属性如下所示:

duration:当前音频的长度,单位秒。只有设置了合法src可才生效

currentTime:当前音频的播放位置,单位秒,精确到小数点后6位置。只有设置了合法src可才生效

paused:当前是否为暂停或停止状态

buffered:音频缓冲的时间点,保证当前播放时间点到该时间点的内容已缓冲

内部音频上下文对象还可使用一些函数控制音频的播放行为。示例代码如下:

    innerAudioContext.play()

    // 暂停音频,再次播放时会从暂停出开始播放

    innerAudioContext.pause()

    // 跳转到音频文件的3.1秒处。跳转事件单位为秒,精确到小数点后3位

    innerAudioContext.seek()

    // 停止音频,再次播放时会从头开始播放

    innerAudioContext.stop()

    // 销毁音频上下文,上下文对象将失效

    innerAudioContext.destroy()

上一篇下一篇

猜你喜欢

热点阅读