百度智能小程序 InnerAudioContext

2020-09-05 14:18 更新

InnerAudioContext

解释: swan.createInnerAudioContext 的返回值。

属性说明

属性名 说明
InnerAudioContext.play 播放
InnerAudioContext.pause 暂停
InnerAudioContext.stop 停止
InnerAudioContext.seek 跳转到指定位置(单位:s)
InnerAudioContext.destroy 销毁当前实例
InnerAudioContext.onCanplay 音频进入可以播放状态
InnerAudioContext.onPlay 音频播放事件
InnerAudioContext.onPause 音频暂停事件
InnerAudioContext.onStop 音频停止事件
InnerAudioContext.onEnded 音频自然播放结束事件
InnerAudioContext.onTimeUpdate 音频进度更新事件
InnerAudioContext.onError 音频播放错误事件
InnerAudioContext.onWaiting 音频加载中事件
InnerAudioContext.onSeeking 音频进行 seek 操作事件
InnerAudioContext.onSeeked 音频完成 seek 操作事件
InnerAudioContext.offCanplay 取消监听 onCanplay 事件
InnerAudioContext.offPlay 取消监听 onPlay 事件
InnerAudioContext.offPause 取消监听 onPause 事件
InnerAudioContext.offStop 取消监听 onStop 事件
InnerAudioContext.offEnded 取消监听 onEnded 事件
InnerAudioContext.offTimeUpdate 取消监听 onTimeUpdate 事件
InnerAudioContext.offError 取消监听 offError 事件
InnerAudioContext.offWaiting 取消监听 onWaiting 事件
InnerAudioContext.offSeeking 取消监听 onSeeking 事件
InnerAudioContext.offSeeked 取消监听 onSeeked 事件

方法参数

方法 参数 必填 说明

src

String

音频的数据链接,用于直接播放,仅支持绝对路径。

startTime

Number

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

autoplay

Boolean

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

loop

Boolean

是否循环播放,默认 false。

obeyMuteSwitch

Boolean

是否遵循系统静音开关,默认 true,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音。

duration

Number

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

currentTime

Number

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

paused

Boolean

当前状态:true 表示暂停或停止,false 表示正在播放。

volume

Number

音量,范围 0~1。

支持格式

格式 iOS Android

flac

amr

wma

ogg

ape

mp4

m4a

wav

mp3

aac

aiff

caf

示例


图片示例

代码示例 1 :实例方法全集

在开发者工具中打开

<view class="wrap">
    <view class="card-area">
        <button type="primary" bindtap="play">play</button>
        <button type="primary" bindtap="pause">pause</button>
        <button type="primary" bindtap="stop">stop</button>
        <button type="primary" bindtap="seek">seek</button>
        <button type="primary" bindtap="destroy">destroy</button>
    </view>
</view>
Page({
    onLoad() {
        //  每次触发就会注册一次回调事件,所以只需把所有回调写在onLoad中即可
        const innerAudioContext = swan.createInnerAudioContext();
        innerAudioContext.src = 'https://b.bdstatic.com/miniapp/images/yanyuan.mp3';
        innerAudioContext.autoplay = false;

        innerAudioContext.onPlay(res => {
            swan.showToast({
                title: '音频播放',
                icon: 'none'
            });
            console.log('onPlay', res);
        });

        innerAudioContext.onCanplay(res => {
            swan.showToast({
                title: '音频进入可播放状态',
                icon: 'none'
            });
            console.log('onCanplay', res);
        });

        innerAudioContext.onPause(res => {
            swan.showToast({
                title: '音频暂停',
                icon: 'none'
            });
            console.log('onPause', res);
        });

        innerAudioContext.onStop(res => {
            swan.showToast({
                title: '音频停止',
                icon: 'none'
            });
            console.log('onStop', res);
        });

        innerAudioContext.onEnded(res => {
            swan.showToast({
                title: '音频自然播放结束',
                icon: 'none'
            });
            console.log('onEnded', res);
        });

        innerAudioContext.onTimeUpdate(res => {
            console.log('onTimeUpdate', res);
        });

        innerAudioContext.onError(err => {
            swan.showModal({
                title: '音频播放错误',
                content: JSON.stringify(err)
            });
            console.log('onError', err);
        });

        innerAudioContext.onWaiting(res => {
            swan.showToast({
                title: '音频加载中......',
                icon: 'none'
            });
            console.log('onWaiting', res);
        });

        innerAudioContext.onWaiting(res => {
            swan.showToast({
                title: '音频加载中......',
                icon: 'none'
            });
            console.log('onWaiting', res);
        });

        this.innerAudioContext = innerAudioContext;
    },
    play() {
        this.innerAudioContext.play();
    },
    pause() {
        this.innerAudioContext.pause();
    },
    stop() {
        this.innerAudioContext.stop();
    },
    seek() {
        this.innerAudioContext.seek(120);
        swan.showToast({
            title: '跳转到音频120s处',
            icon: 'none'
        });
    },
    destroy() {
        this.innerAudioContext.destroy();
        swan.showToast({
            title: '音频销毁,需要重新触发创建时期',
            icon: 'none'
        });
    },
    offTimeUpdate() {
        this.innerAudioContext.offTimeUpdate(res => {
            swan.showToast({
                title: 'offTimeUpdate',
                icon: 'none'
            });
            console.log('offTimeUpdate', res);
        });
    }
});

代码示例 2 - 属性全集

在开发者工具中打开

Page({
    onLoad() {
        const innerAudioContext = swan.createInnerAudioContext();
        innerAudioContext.src = 'http://vd3.bdstatic.com/mda-ic7mxzt5cvz6f4y5/mda-ic7mxzt5cvz6f4y5.mp3';
        innerAudioContext.startTime = 120;
        innerAudioContext.autoplay = true;
        innerAudioContext.loop = true;
        // 一般设置obeyMuteSwitch为false,否则用户在系统静音的情况下,会认为api不能播放;
        innerAudioContext.obeyMuteSwitch = false;
        innerAudioContext.duration = 120;
        innerAudioContext.currentTime = 90;
        innerAudioContext.paused = true;
        innerAudioContext.volume = 0.5;
    }
});


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号