阅读(2138) (11)

百度智能小程序API 媒体

2018-07-09 16:48:14 更新

图片


chooseImage

解释:从本地相册选择图片或使用相机拍照。

参数:Object

Object参数说明:

参数 类型 必填 说明
count Number 最多可以选择的图片张数,默认 9
sizeType String Array original 原图,compressed 压缩图,默认二者都有
sourceType String Array album 从相册选图,camera 使用相机,默认二者都有
success Function 成功则返回图片的本地文件路径列表 tempFilePaths
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

注意:文件的临时路径,在智能小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 swan.saveFile,在智能小程序下次启动时才能访问得到。

success返回参数说明:

参数 类型 说明
tempFilePaths String Array 图片的本地文件路径列表
tempFiles Object Array 图片的本地文件列表,每一项是一个 File 对象

tempFiles 对象结构如下:

字段 类型 说明
path String 本地文件路径
size Number 本地文件大小(单位:B)

示例:

swan.chooseImage({
    count: 1,
    success: function (res) {
        // 成功则返回图片的本地文件路径列表 tempFilePaths
        console.log(res.tempFilePaths);
        // 文件列表对象
        console.log(res.tempFiles);
    },
    fail: function (err) {
        console.log('错误码:' + err.errCode);
        console.log('错误信息:' + err.errMsg);
    }
});

previewImage

解释:预览图片。

参数:Object

Object参数说明:

参数 类型 必填 说明
current String 当前显示图片的链接,不填则默认为 urls 的第一张
urls String Array 需要预览的图片链接列表
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例:

swan.previewImage({
    current: '', // 当前显示图片的http链接
    urls: [], // 需要预览的图片http链接列表
    fail: function (err) {
        console.log('错误码:' + err.errCode);
        console.log('错误信息:' + err.errMsg);
    }
});
Bug & Tip:swan.previewImage在真机和工具是有diff,工具1.8.0上有bug,工具中默认展示第一张图片传入的是索引,真机上需要传图片url

getImageInfo

解释:获取图片信息。

参数:Object

Object参数说明:

参数 类型 必填 说明
src String 图片的路径,可以是相对路径、临时文件路径或存储文件路径,不支持网络图片
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
width Number 图片宽度(单位:px)
height Number 图片高度(单位:px)
path String 返回图片的本地路径

示例:

swan.getImageInfo({
    src: '/xxx/xxx.jpg',
    success: function (res) {
        // 成功则返回图片高,宽,本地路径
        console.log(res.width);
        console.log(res.height);
        console.log(res.path);
    },
    fail: function (err) {
        console.log('错误码:' + err.errCode);
        console.log('错误信息:' + err.errMsg);
    }
});

saveImageToPhotosAlbum

解释:保存图片到系统相册。需要用户授权

参数:Object

Object参数说明:

参数名 类型 必填 说明
filePath String 图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数名 类型 说明
errMsg String 调用结果

示例:

swan.saveImageToPhotosAlbum({
    'filePath': '/xxx/xxx.jpg',
    success: function (res) {
        // 成功则返回图片本地路径
        console.log(res.filePath);
    },
    fail: function (err) {
        console.log('错误码:' + err.errCode);
        console.log('错误信息:' + err.errMsg);
    }
});

录音管理


getRecorderManager

解释:获取全局唯一的录音管理器recorderManager。

参数:无

recorderManager 对象的方法列表:

方法 参数 说明
start options 开始录音
pause 暂停录音
resume 继续录音
stop 停止录音
onStart callback 录音开始事件
onPause callback 录音暂停事件
onStop callback 录音停止事件,会回调文件地址
onError callback 录音错误事件, 会回调错误信息

start(options) 说明:

属性 类型 必填 说明
duration Number 指定录音的时长,(单位:ms) ,如果传入了合法的 duration ,在到达指定的 duration 后会自动停止录音,最大值 600000(10 分钟),默认值 60000(1 分钟)
sampleRate Number 采样率,有效值 8000/16000/44100
numberOfChannels Number 录音通道数,有效值 1/2
encodeBitRate Number 编码码率,有效值见下表格
format String 音频格式,有效值 aac

其中,采样率和码率有一定要求,具体有效值如下:

采样率 编码效率
8000 16000 ~ 48000
16000 24000 ~ 96000
44100 64000 ~ 320000

onStop(callback) 回调结果说明:

属性 类型 说明
tempFilePath String 录音文件的临时路径

onError(callback) 回调结果说明:

属性 类型 说明
errMsg String 错误信息

示例:

const recorderManager = swan.getRecorderManager()

recorderManager.onStart(function() {
    // 开始录音事件
    console.log('recorder start')
});
recorderManager.onPause(function() {
    // 暂停录音事件
    console.log('recorder pause')
});
recorderManager.onStop(function() {
    // 停止录音事件
    console.log('recorder stop', res)
    const { tempFilePath } = res
});

const options = {
    duration: 10000,
    sampleRate: 44100,
    numberOfChannels: 1,
    encodeBitRate: 192000,
    format: 'aac'
};

recorderManager.start(options);

背景音频管理播放


getBackgroundAudioManager

解释:获取全局唯一的背景音频管理器 backgroundAudioManager。

参数:无

backgroundAudioManager 对象的属性列表:

属性 类型 说明 只读
src String 音频的数据链接,用于直接播放。
startTime Number 开始播放的位置(单位:s),默认 0
autoplay Boolean 是否自动开始播放,默认 false
loop Boolean 是否循环播放,默认 false
duration Number 当前音频的长度(单位:s),只有在当前有合法的 src 时返回
currentTime Number 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回,时间不取整,保留小数点后 6 位
paused Boolean 当前是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放
buffered Number 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲。
title String 音频标题,用于做原生音频播放器音频标题。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。
epname String 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
singer String 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。
coverImgUrl String 封面图url,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。

backgroundAudioManager 对象的方法列表:

方法 参数 说明
play 播放
pause 暂停
stop 停止
seek position 跳转到指定位置(单位:s)
onCanplay callback 音频进入可以播放状态,但不保证后面可以流畅播放
onPlay callback 音频播放事件
onPause callback 音频暂停事件
onStop callback 音频停止事件
onEnded callback 音频自然播放结束事件
onTimeUpdate callback 音频进度更新事件
onError callback 音频播放错误事件
onPrev callback 用户在系统音乐播放面板点击上一曲事件(iOS only)
onNext callback 用户在系统音乐播放面板点击下一曲事件(iOS only)
onWaiting callback 音频加载中事件,当音频因为数据不足,需要停下来加载时会触发

示例:

const backgroundAudioManager = swan.getBackgroundAudioManager();

backgroundAudioManager.title = '此时此刻';
backgroundAudioManager.epname = '此时此刻';
backgroundAudioManager.singer = '许巍';
backgroundAudioManager.coverImgUrl = 'xxx';
backgroundAudioManager.src = 'xxx';

音频组件控制


createInnerAudioContext

解释:创建并返回内部 audio 上下文 innerAudioContext 对象。

参数:无

innerAudioContext 对象的属性列表:

方法 参数 说明 只读
src String 音频的数据链接,用于直接播放。
startTime Number 开始播放的位置(单位:s),默认 0
autoplay Boolean 是否自动开始播放,默认 false
loop Boolean 是否循环播放,默认 false
duration Number 当前音频的长度(单位:s),只有在当前有合法的 src 时返回
currentTime Number 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回,时间不取整,保留小数点后 6 位
paused Boolean 当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放
buffered Number 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲。
volume Number 音量。范围 0~1。

innerAudioContext 对象的方法列表:

方法 参数 说明
play 播放
pause 暂停
stop 停止
seek position 跳转到指定位置(单位:s)
destroy 销毁当前实例
onCanplay callback 音频进入可以播放状态,但不保证后面可以流畅播放
onPlay callback 音频播放事件
onPause callback 音频暂停事件
onStop callback 音频停止事件
onEnded callback 音频自然播放结束事件
onTimeUpdate callback 音频进度更新事件
onError callback 音频播放错误事件
onWaiting callback 音频加载中事件,当音频因为数据不足,需要停下来加载时会触发
onSeeking callback 音频进行 seek 操作事件
onSeeked callback 音频完成 seek 操作事件

示例:

const innerAudioContext = swan.createInnerAudioContext();
innerAudioContext.src = 'xxx';
innerAudioContext.autoplay = true;
innerAudioContext.seek({
    position: 10
});
innerAudioContext.onPlay(function (res) {
    console.log('开始播放')
});

视频


chooseVideo

解释:拍摄视频或从手机相册中选视频,返回视频的临时文件路径。

参数:Object

Object参数说明:

参数 类型 必填 说明
sourceType String Array album 从相册选图,camera 使用相机,默认二者都有
compressed Boolean 是否压缩所选的视频源文件,默认值为true,需要压缩
maxDuration Number 拍摄视频最长拍摄时间,(单位:s)。最长支持 60 秒
success Function 接口调用成功,返回视频文件的临时文件路径,详见返回参数说明
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 说明
tempFilePath 选定视频的临时文件路径
duration 选定视频的时间长度 (单位:s)
size 选定视频的数据量大小(单位:B)
height 返回选定视频的长
width 返回选定视频的宽

注:文件的临时路径,在智能小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 swan.saveFile,在智能小程序下次启动时才能访问得到。

示例:

<button bind:tap="chooseVideo" type="primary">点击选择视频</button>
<video src="{{src}}" controls></video>
Page({
    data: {
        sourceType: ['album', 'camera'],
        compressed: false,
        maxDuration: 60,
        src: ''
    },

    chooseVideo() {
        let self = this;
        swan.chooseVideo({
            sourceType: this.getData('sourceType'),
            compressed: this.getData('compressed'),
            maxDuration: this.getData('maxDuration'),
            success: function (res) {
                // 成功返回选定视频的临时文件路径
                self.setData('src', res.tempFilePath);
            },
            fail: function (err) {
                console.log('错误码:' + err.errCode);
                console.log('错误信息:' + err.errMsg);
            }
        });
    }
});

saveVideoToPhotosAlbum

解释:保存视频到系统相册。需要用户授权。

参数:Object

Object参数说明:

参数名 类型 必填 说明
filePath String 视频文件路径,可以是临时文件路径也可以是永久文件路径
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数名 类型 说明
errMsg String 调用结果

示例:

swan.saveVideoToPhotosAlbum({
    'filePath': 'bdfile://xxx',
    success: function (res) {
        // 成功返回视频文件路径
        console.log(res.filePath);
    },
    fail: function (err) {
        console.log('错误码:' + err.errCode);
        console.log('错误信息:' + err.errMsg);
    }
});

视频组件控制


createVideoContext

解释:创建并返回 video 上下文 videoContext 对象。通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件。

参数:videoId

videoContext 对象的方法列表:

方法 参数 说明
play 播放
pause 暂停
seek position 跳转到指定位置(单位:s)
sendDanmu danmu 发送弹幕,danmu 包含两个属性 text、color。
requestFullScreen 进入全屏
exitFullScreen 退出全屏

示例:

<view>
    <video id="myVideo" src="https://example.baidu.com/xxxx" rel="external nofollow" ></video>
</view>
const myVideo = swan.createVideoContext('myVideo');
myVideo.play();

直播组件控制


createLivePlayerContext

解释:操作对应的 <live-player/> 组件。 创建并返回 live-player 上下文 LivePlayerContext 对象。

参数:domId

livePlayerContext 对象的方法列表:

方法 参数 说明
play Object 播放
stop Object 停止
mute Object 静音
requestFullScreen Object 进入全屏
exitFullScreen Object 退出全屏

requestFullScreen 的 Object 参数列表:

参数名 类型 必填 说明
direction Number 有效值为 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度)
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

其他方法的 Object 参数列表:

参数名 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

相机组件控制


createCameraContext

解释:创建并返回 camera 上下文 cameraContext对象,cameraContext 与页面的 camera 组件绑定,一个页面只能有一个 camera,通过它可以操作对应的组件

参数:无

cameraContext 对象的方法列表:

方法 参数 说明
takePhoto Object 拍照,可指定质量,成功则返回图片
startRecord Object 开始录像
stopRecord Object 结束录像,成功则返回封面与视频

takePhoto 的 Object 参数列表:

参数 类型 必填 说明
quality String 成像质量,值为high, normal, low,默认normal
success Function 接口调用成功的回调函数 ,res = { tempImagePath }
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

startRecord 的 Object 参数列表:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

stopRecord 的 Object 参数列表:

参数 类型 必填 说明
success Function 接口调用成功的回调函数 ,res = { tempThumbPath, tempVideoPath }
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)