微信小程式學習:audio元件發現的幾個問題
這個只測試了action的method=play的情況下,其它的方法我有稍微改變了下src和action方法,發現只要一切換其它action方法和src歌曲後,歌曲都是未開播狀態,所以應該不會出現什麼問題。主要是play的情況下有幾個小問題需要注意下!先上官方原始碼:
wxml::
<!-- 迴圈播放 -->
<audio poster="{{poster}}" name="{{name}}" author="{{author}}" src="{{src}}" action="{{action}}" controls loop></audio>
<button type="primary" bindtap="audioPlay">播放</button>
js::
Page({
data: {
poster: 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000',
name: '此時此刻',
author: '許巍',
src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46',
},
audioPlay: function () {
this.setData({
action: {
method: 'play'
}
})
},
onLoad: function(options){
}
})
1、action的賦值方式
this.setData({
'action.method': 'play'
})
我修改成這種賦值方式也能正常開啟播放,如果我在page的data裡面預先建立action物件,雖然值有被正常修改過來,但是音樂就是無法一開啟就播放,需要按f5重新整理下頁面。完整測試程式碼如下:
Page({
data: {
poster: 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000',
name: '此時此刻',
author: '許巍',
src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46',
action:
{
method: 'pause'
}
},
audioPlay: function () {
this.setData({
'action.method': 'play'//在data裡面先定義action,這種賦值方式有效但是播放無效,需要再次重新整理頁面
})
})
演示效果:
this.setData({
src: "../audio/files/AlexGoot&KurtSchneider&Eppic-SeeYouAgain.aac",
action: {
method: 'play'
}
})
我修改了src的曲目,發現不管有沒有在data裡面預先定義action物件都是能修改狀態值,但是音樂就是無法播放,需要點選兩次按鈕,或者f5重新整理下頁面才有效。
演示效果【左邊是點選兩次才開啟播放,右邊是點選後在重新整理才能開啟播放】:
最後發現修改src和action分開設定就能正常播放了。完整程式碼如下:
Page({
data: {
poster: 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000',
name: '此時此刻',
author: '許巍',
src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46',
action:
{
method: 'pause'
}
},
audioPlay: function () {
this.setData({
src: "../audio/files/AlexGoot&KurtSchneider&Eppic-SeeYouAgain.aac",
})
this.setData({
action: {
method: 'play'//需要分開設定
}
})
})
或者下面這種方式也可以:
Page({
data: {
poster: 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000',
name: '此時此刻',
author: '許巍',
src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46',
},
audioPlay: function () {
this.setData({
src: "../audio/files/AlexGoot&KurtSchneider&Eppic-SeeYouAgain.aac",
})
this.setData({
'action.method': 'play'//data沒有定義action,使用這種賦值方式
})
})
總結以上兩種方案:
1、初始化data不設定action,可以使用"action.method": "play"修改狀態
2、修改src曲目的時候不管有沒有初始化設定action,修改action的狀態都要分開設定
*************************************************************************************************************************
目前audio元件微信小程式已經移除,也就不存在這個情況了,不過使用介面形式來設定action還是存在一個渲染時間問題,暫時還不知道怎麼解決
相關文章
- 微信小程式開發中遇到的幾個小問題微信小程式
- Redis學習的幾個小問題Redis
- 【學習】分享幾個學習中的小問題
- 微信小程式pick元件使用問題總結微信小程式元件
- 微信小程式--關於加快小程式開發的幾個小建議微信小程式
- 微信小程式學習:雲開發微信小程式
- 微信小程式學習微信小程式
- 微信小程式開發問題彙總微信小程式
- 分享幾個微信小程式開發框架和工具微信小程式框架
- 現學現賣微信小程式開發(一)微信小程式
- 現學現賣微信小程式開發(二)微信小程式
- 微信小程式開發05-日曆元件的實現微信小程式元件
- 發現幾個小問題安裝時,模型檢視時模型
- 微信小程式開發完工+問題彙總微信小程式
- 微信小程式中開發常見問題微信小程式
- 微信小程式開發常見問題(四)微信小程式
- 微信小程式開發常見問題(五)微信小程式
- 微信小程式開發常見問題(七)微信小程式
- 微信小程式Renard學習微信小程式
- 微信小程式開發學習筆記[4]微信小程式筆記
- 微信小程式開發學習筆記[2]微信小程式筆記
- 微信小程式開發學習筆記[3]微信小程式筆記
- 微信小程式開發03-這是一個元件微信小程式元件
- 微信小程式入門開發及問題整理微信小程式
- 微信小程式元件化(下):程式碼實現微信小程式元件化
- 微信小程式開發(十一)小程式地圖元件map微信小程式地圖元件
- 微信小程式學習筆記微信小程式筆記
- 微信小程式學習網站微信小程式學習網站
- 【微信小程式】微信小程式 文字過長,自動換行的問題微信小程式
- 圖靈社群的幾個小問題圖靈
- 搭建dataguard碰到的幾個小問題
- 關於微信小程式swiper的問題微信小程式
- 微信小程式開發之webview元件內網頁實現微信原生支付微信小程式WebView元件內網網頁
- C#開發中,學習整理的 New 的幾個常見問題C#
- 強烈推介的幾個微信小程式開發小技巧,簡單又實用微信小程式
- 使用React開發一個學習、做題、刷課、論壇、聊天交流的微信小程式(Taro框架)React微信小程式框架
- 微信小程式元件button微信小程式元件
- 使用wepy開發微信小程式01——常用的元件微信小程式元件