百度智能小程序API 媒體

2018-07-09 17:01 更新

圖片


chooseImage

解釋:從本地相冊選擇圖片或使用相機拍照。

參數(shù):Object

Object參數(shù)說明:

參數(shù) 類型 必填 說明
count Number 最多可以選擇的圖片張數(shù),默認 9
sizeType String Array original 原圖,compressed 壓縮圖,默認二者都有
sourceType String Array album 從相冊選圖,camera 使用相機,默認二者都有
success Function 成功則返回圖片的本地文件路徑列表 tempFilePaths
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

注意:文件的臨時路徑,在智能小程序本次啟動期間可以正常使用,如需持久保存,需在主動調(diào)用 swan.saveFile,在智能小程序下次啟動時才能訪問得到。

success返回參數(shù)說明:

參數(shù) 類型 說明
tempFilePaths String Array 圖片的本地文件路徑列表
tempFiles Object Array 圖片的本地文件列表,每一項是一個 File 對象

tempFiles 對象結(jié)構(gòu)如下:

字段 類型 說明
path String 本地文件路徑
size Number 本地文件大?。▎挝唬築)

示例:

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

解釋:預(yù)覽圖片。

參數(shù):Object

Object參數(shù)說明:

參數(shù) 類型 必填 說明
current String 當前顯示圖片的鏈接,不填則默認為 urls 的第一張
urls String Array 需要預(yù)覽的圖片鏈接列表
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

示例:

swan.previewImage({
    current: '', // 當前顯示圖片的http鏈接
    urls: [], // 需要預(yù)覽的圖片http鏈接列表
    fail: function (err) {
        console.log('錯誤碼:' + err.errCode);
        console.log('錯誤信息:' + err.errMsg);
    }
});
Bug & Tip:swan.previewImage在真機和工具是有diff,工具1.8.0上有bug,工具中默認展示第一張圖片傳入的是索引,真機上需要傳圖片url

getImageInfo

解釋:獲取圖片信息。

參數(shù):Object

Object參數(shù)說明:

參數(shù) 類型 必填 說明
src String 圖片的路徑,可以是相對路徑、臨時文件路徑或存儲文件路徑,不支持網(wǎng)絡(luò)圖片
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

success返回參數(shù)說明:

參數(shù) 類型 說明
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

解釋:保存圖片到系統(tǒng)相冊。需要用戶授權(quán)

參數(shù):Object

Object參數(shù)說明:

參數(shù)名 類型 必填 說明
filePath String 圖片文件路徑,可以是臨時文件路徑也可以是永久文件路徑,不支持網(wǎng)絡(luò)圖片路徑
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

success返回參數(shù)說明:

參數(shù)名 類型 說明
errMsg String 調(diào)用結(jié)果

示例:

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。

參數(shù):無

recorderManager 對象的方法列表:

方法 參數(shù) 說明
start options 開始錄音
pause 暫停錄音
resume 繼續(xù)錄音
stop 停止錄音
onStart callback 錄音開始事件
onPause callback 錄音暫停事件
onStop callback 錄音停止事件,會回調(diào)文件地址
onError callback 錄音錯誤事件, 會回調(diào)錯誤信息

start(options) 說明:

屬性 類型 必填 說明
duration Number 指定錄音的時長,(單位:ms) ,如果傳入了合法的 duration ,在到達指定的 duration 后會自動停止錄音,最大值 600000(10 分鐘),默認值 60000(1 分鐘)
sampleRate Number 采樣率,有效值 8000/16000/44100
numberOfChannels Number 錄音通道數(shù),有效值 1/2
encodeBitRate Number 編碼碼率,有效值見下表格
format String 音頻格式,有效值 aac

其中,采樣率和碼率有一定要求,具體有效值如下:

采樣率 編碼效率
8000 16000 ~ 48000
16000 24000 ~ 96000
44100 64000 ~ 320000

onStop(callback) 回調(diào)結(jié)果說明:

屬性 類型 說明
tempFilePath String 錄音文件的臨時路徑

onError(callback) 回調(diào)結(jié)果說明:

屬性 類型 說明
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。

參數(shù):無

backgroundAudioManager 對象的屬性列表:

屬性 類型 說明 只讀
src String 音頻的數(shù)據(jù)鏈接,用于直接播放。
startTime Number 開始播放的位置(單位:s),默認 0
autoplay Boolean 是否自動開始播放,默認 false
loop Boolean 是否循環(huán)播放,默認 false
duration Number 當前音頻的長度(單位:s),只有在當前有合法的 src 時返回
currentTime Number 當前音頻的播放位置(單位:s),只有在當前有合法的 src 時返回,時間不取整,保留小數(shù)點后 6 位
paused Boolean 當前是否暫?;蛲V範顟B(tài),true 表示暫?;蛲V?,false 表示正在播放
buffered Number 音頻緩沖的時間點,僅保證當前播放時間點到此時間點內(nèi)容已緩沖。
title String 音頻標題,用于做原生音頻播放器音頻標題。原生音頻播放器中的分享功能,分享出去的卡片標題,也將使用該值。
epname String 專輯名,原生音頻播放器中的分享功能,分享出去的卡片簡介,也將使用該值。
singer String 歌手名,原生音頻播放器中的分享功能,分享出去的卡片簡介,也將使用該值。
coverImgUrl String 封面圖url,用于做原生音頻播放器背景圖。原生音頻播放器中的分享功能,分享出去的卡片配圖及背景也將使用該圖。

backgroundAudioManager 對象的方法列表:

方法 參數(shù) 說明
play 播放
pause 暫停
stop 停止
seek position 跳轉(zhuǎn)到指定位置(單位:s)
onCanplay callback 音頻進入可以播放狀態(tài),但不保證后面可以流暢播放
onPlay callback 音頻播放事件
onPause callback 音頻暫停事件
onStop callback 音頻停止事件
onEnded callback 音頻自然播放結(jié)束事件
onTimeUpdate callback 音頻進度更新事件
onError callback 音頻播放錯誤事件
onPrev callback 用戶在系統(tǒng)音樂播放面板點擊上一曲事件(iOS only)
onNext callback 用戶在系統(tǒng)音樂播放面板點擊下一曲事件(iOS only)
onWaiting callback 音頻加載中事件,當音頻因為數(shù)據(jù)不足,需要停下來加載時會觸發(fā)

示例:

const backgroundAudioManager = swan.getBackgroundAudioManager();

backgroundAudioManager.title = '此時此刻';
backgroundAudioManager.epname = '此時此刻';
backgroundAudioManager.singer = '許巍';
backgroundAudioManager.coverImgUrl = 'xxx';
backgroundAudioManager.src = 'xxx';

音頻組件控制


createInnerAudioContext

解釋:創(chuàng)建并返回內(nèi)部 audio 上下文 innerAudioContext 對象。

參數(shù):無

innerAudioContext 對象的屬性列表:

方法 參數(shù) 說明 只讀
src String 音頻的數(shù)據(jù)鏈接,用于直接播放。
startTime Number 開始播放的位置(單位:s),默認 0
autoplay Boolean 是否自動開始播放,默認 false
loop Boolean 是否循環(huán)播放,默認 false
duration Number 當前音頻的長度(單位:s),只有在當前有合法的 src 時返回
currentTime Number 當前音頻的播放位置(單位:s),只有在當前有合法的 src 時返回,時間不取整,保留小數(shù)點后 6 位
paused Boolean 當前是是否暫?;蛲V範顟B(tài),true 表示暫停或停止,false 表示正在播放
buffered Number 音頻緩沖的時間點,僅保證當前播放時間點到此時間點內(nèi)容已緩沖。
volume Number 音量。范圍 0~1。

innerAudioContext 對象的方法列表:

方法 參數(shù) 說明
play 播放
pause 暫停
stop 停止
seek position 跳轉(zhuǎn)到指定位置(單位:s)
destroy 銷毀當前實例
onCanplay callback 音頻進入可以播放狀態(tài),但不保證后面可以流暢播放
onPlay callback 音頻播放事件
onPause callback 音頻暫停事件
onStop callback 音頻停止事件
onEnded callback 音頻自然播放結(jié)束事件
onTimeUpdate callback 音頻進度更新事件
onError callback 音頻播放錯誤事件
onWaiting callback 音頻加載中事件,當音頻因為數(shù)據(jù)不足,需要停下來加載時會觸發(fā)
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

解釋:拍攝視頻或從手機相冊中選視頻,返回視頻的臨時文件路徑。

參數(shù):Object

Object參數(shù)說明:

參數(shù) 類型 必填 說明
sourceType String Array album 從相冊選圖,camera 使用相機,默認二者都有
compressed Boolean 是否壓縮所選的視頻源文件,默認值為true,需要壓縮
maxDuration Number 拍攝視頻最長拍攝時間,(單位:s)。最長支持 60 秒
success Function 接口調(diào)用成功,返回視頻文件的臨時文件路徑,詳見返回參數(shù)說明
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

success返回參數(shù)說明:

參數(shù) 說明
tempFilePath 選定視頻的臨時文件路徑
duration 選定視頻的時間長度 (單位:s)
size 選定視頻的數(shù)據(jù)量大小(單位:B)
height 返回選定視頻的長
width 返回選定視頻的寬

注:文件的臨時路徑,在智能小程序本次啟動期間可以正常使用,如需持久保存,需在主動調(diào)用 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

解釋:保存視頻到系統(tǒng)相冊。需要用戶授權(quán)。

參數(shù):Object

Object參數(shù)說明:

參數(shù)名 類型 必填 說明
filePath String 視頻文件路徑,可以是臨時文件路徑也可以是永久文件路徑
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

success返回參數(shù)說明:

參數(shù)名 類型 說明
errMsg String 調(diào)用結(jié)果

示例:

swan.saveVideoToPhotosAlbum({
    'filePath': 'bdfile://xxx',
    success: function (res) {
        // 成功返回視頻文件路徑
        console.log(res.filePath);
    },
    fail: function (err) {
        console.log('錯誤碼:' + err.errCode);
        console.log('錯誤信息:' + err.errMsg);
    }
});

視頻組件控制


createVideoContext

解釋:創(chuàng)建并返回 video 上下文 videoContext 對象。通過 videoId 跟一個 video 組件綁定,通過它可以操作一個 video 組件。

參數(shù):videoId

videoContext 對象的方法列表:

方法 參數(shù) 說明
play 播放
pause 暫停
seek position 跳轉(zhuǎn)到指定位置(單位:s)
sendDanmu danmu 發(fā)送彈幕,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

解釋:操作對應(yīng)的 <live-player/> 組件。 創(chuàng)建并返回 live-player 上下文 LivePlayerContext 對象。

參數(shù):domId

livePlayerContext 對象的方法列表:

方法 參數(shù) 說明
play Object 播放
stop Object 停止
mute Object 靜音
requestFullScreen Object 進入全屏
exitFullScreen Object 退出全屏

requestFullScreen 的 Object 參數(shù)列表:

參數(shù)名 類型 必填 說明
direction Number 有效值為 0(正常豎向), 90(屏幕逆時針90度), -90(屏幕順時針90度)
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

其他方法的 Object 參數(shù)列表:

參數(shù)名 類型 必填 說明
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

相機組件控制


createCameraContext

解釋:創(chuàng)建并返回 camera 上下文 cameraContext對象,cameraContext 與頁面的 camera 組件綁定,一個頁面只能有一個 camera,通過它可以操作對應(yīng)的組件

參數(shù):無

cameraContext 對象的方法列表:

方法 參數(shù) 說明
takePhoto Object 拍照,可指定質(zhì)量,成功則返回圖片
startRecord Object 開始錄像
stopRecord Object 結(jié)束錄像,成功則返回封面與視頻

takePhoto 的 Object 參數(shù)列表:

參數(shù) 類型 必填 說明
quality String 成像質(zhì)量,值為high, normal, low,默認normal
success Function 接口調(diào)用成功的回調(diào)函數(shù) ,res = { tempImagePath }
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

startRecord 的 Object 參數(shù)列表:

參數(shù) 類型 必填 說明
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

stopRecord 的 Object 參數(shù)列表:

參數(shù) 類型 必填 說明
success Function 接口調(diào)用成功的回調(diào)函數(shù) ,res = { tempThumbPath, tempVideoPath }
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號