快應(yīng)用 音頻

2020-08-08 15:40 更新

接口聲明

{"name": "system.audio"}

導(dǎo)入模塊


import audio from '@system.audio' 
或 
const audio = require('@system.audio')

接口定義

方法

audio.play()

開始播放音頻

參數(shù)

示例:
audio.play()

audio.pause()

暫停播放音頻

參數(shù)

示例:
audio.pause()

audio.stop() 1030+

停止音頻播放,可以通過 play 重新播放音頻

參數(shù)

示例:
audio.stop()

audio.getPlayState(OBJECT) 1050+

獲取當(dāng)前播放狀態(tài)數(shù)據(jù)

參數(shù)
參數(shù)名類型必填說明
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結(jié)束后的回調(diào)
success 返回值:
參數(shù)值類型說明
stateString播放狀態(tài),分別為'play','pause','stop'
srcString當(dāng)前播放的音頻媒體 uri,停止時(shí)返回空字符串
currentTimeNumber當(dāng)前音頻的當(dāng)前進(jìn)度,單位秒,停止時(shí)返回-1
autoplayBoolen當(dāng)前音頻是否在自動(dòng)播放
loopBoolen當(dāng)前音頻是否在循環(huán)播放
volumeNumber當(dāng)前音頻的音量,默認(rèn)當(dāng)前系統(tǒng)媒體音量,音量變化范圍[0.0,1.0]
mutedBoolen當(dāng)前音頻是否在靜音播放
notificationVisibleBoolen當(dāng)前音頻是否正在通知欄中顯示音頻播放狀態(tài)
示例:
audio.getPlayState({
    success: function(data) {
        console.log(`handling success: state: ${data.state},src:${data.src},currentTime:${data.currentTime},autoplay:${data.autoplay},loop:${data.loop},
            volume: ${data.volume},muted:${data.muted},notificationVisible:${data.notificationVisible}`)
    },
    fail: function(data, code) {
        console.log('handling fail, code=' + code)
    }
})

屬性

名稱參數(shù)類型是否可讀是否可寫必填描述
src  String播放的音頻媒體 uri
currentTime  Number音頻的當(dāng)前進(jìn)度,單位秒,對值設(shè)置可以調(diào)整播放進(jìn)度
duration  Number音頻的播放時(shí)長,單位秒,未知返回 NaN
autoplay  Boolean音頻是否自動(dòng)播放,默認(rèn) false
loop  Boolean音頻是否循環(huán)播放,默認(rèn) false
volume  Number音頻的音量,默認(rèn)當(dāng)前系統(tǒng)媒體音量,音量變化范圍[0.0,1.0]
muted  Boolean音頻是否靜音,默認(rèn) false
notificationVisible 1010+Boolean音頻是否在通知欄中顯示音頻播放狀態(tài),默認(rèn) true
title 1040+String音頻標(biāo)題,未設(shè)置時(shí)顯示正在播放或者暫停播放
artist 1040+String歌手名,未設(shè)置時(shí)顯示正在播放或者暫停播放
cover 1040+String封面圖片uri路徑
streamType 1040+String指定使用音頻類型,可設(shè)置的值有 music、voicecall,值為 music 時(shí)使用揚(yáng)聲器播放,voicecall 時(shí)使用聽筒播放,默認(rèn)為 music。

示例:

let currentTime = audio.currentTime
audio.currentTime = 5

事件

名稱描述
play在調(diào)用 play 方法后或者 autoplay 為 true 時(shí)的回調(diào)事件
pause在調(diào)用 pause 方法后的回調(diào)事件
stop 1030+在調(diào)用 stop 方法后的回調(diào)事件
loadeddata第一次獲取到音頻數(shù)據(jù)的回調(diào)事件
ended播放結(jié)束時(shí)的回調(diào)事件
durationchange播放時(shí)長變化時(shí)的回調(diào)事件
error播放發(fā)生錯(cuò)誤時(shí)的回調(diào)事件
timeupdate播放進(jìn)度變化時(shí)觸發(fā),觸發(fā)頻率 4HZ
previous 1040+通知欄點(diǎn)擊上一首按鈕時(shí)觸發(fā)
next 1040+通知欄點(diǎn)擊下一首按鈕時(shí)觸發(fā)

示例:

audio.ontimeupdate = function() {
  console.log(`audio current time: ${audio.currentTime}`)
}
audio.ontimeupdate = null
audio.onprevious = function() {
  audio.src = "uri";
  audio.tilte="上一首歌名";
  audio.play();
};

后臺(tái)運(yùn)行限制

manifest 中申請后可用。

后臺(tái)運(yùn)行詳細(xì)用法參見 后臺(tái)運(yùn)行腳本。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號