W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
解釋: swan.createInnerAudioContext 的返回值。
方法 | 參數(shù) | 必填 | 說(shuō)明 |
---|---|---|---|
src |
String |
否 |
音頻的數(shù)據(jù)鏈接,用于直接播放,僅支持絕對(duì)路徑。 |
startTime |
Number |
否 |
開(kāi)始播放的位置(單位:s),默認(rèn) 0 。 |
autoplay |
Boolean |
否 |
是否自動(dòng)開(kāi)始播放,默認(rèn) false 。 |
loop |
Boolean |
否 |
是否循環(huán)播放,默認(rèn) false。 |
obeyMuteSwitch |
Boolean |
否 |
是否遵循系統(tǒng)靜音開(kāi)關(guān),默認(rèn) true,當(dāng)此參數(shù)為 false 時(shí),即使用戶打開(kāi)了靜音開(kāi)關(guān),也能繼續(xù)發(fā)出聲音。 |
duration |
Number |
是 |
當(dāng)前音頻的長(zhǎng)度(單位:s),只有在當(dāng)前有合法的 src 時(shí)返回 。 |
currentTime |
Number |
是 |
當(dāng)前音頻的播放位置(單位:s),只有在當(dāng)前有合法的 src 時(shí)返回,時(shí)間不取整,保留小數(shù)點(diǎn)后 6 位 。 |
paused |
Boolean |
是 |
當(dāng)前狀態(tài):true 表示暫?;蛲V梗琭alse 表示正在播放。 |
volume |
Number |
否 |
音量,范圍 0~1。 |
格式 | iOS | Android |
---|---|---|
flac |
否 |
是 |
amr |
否 |
是 |
wma |
否 |
是 |
ogg |
否 |
是 |
ape |
否 |
是 |
mp4 |
否 |
是 |
m4a |
是 |
是 |
wav |
是 |
是 |
mp3 |
是 |
是 |
aac |
是 |
是 |
aiff |
是 |
否 |
caf |
是 |
否 |
代碼示例 1 :實(shí)例方法全集
<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() {
// 每次觸發(fā)就會(huì)注冊(cè)一次回調(diào)事件,所以只需把所有回調(diào)寫在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: '音頻進(jìn)入可播放狀態(tài)',
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: '音頻自然播放結(jié)束',
icon: 'none'
});
console.log('onEnded', res);
});
innerAudioContext.onTimeUpdate(res => {
console.log('onTimeUpdate', res);
});
innerAudioContext.onError(err => {
swan.showModal({
title: '音頻播放錯(cuò)誤',
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: '跳轉(zhuǎn)到音頻120s處',
icon: 'none'
});
},
destroy() {
this.innerAudioContext.destroy();
swan.showToast({
title: '音頻銷毀,需要重新觸發(fā)創(chuàng)建時(shí)期',
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;
// 一般設(shè)置obeyMuteSwitch為false,否則用戶在系統(tǒng)靜音的情況下,會(huì)認(rèn)為api不能播放;
innerAudioContext.obeyMuteSwitch = false;
innerAudioContext.duration = 120;
innerAudioContext.currentTime = 90;
innerAudioContext.paused = true;
innerAudioContext.volume = 0.5;
}
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: