微信小程序开发之音乐播放器 真机测试 audio API

时间:2022-08-04 05:52:03

简单的试了试播放器,还是有不少坑的.开始在模拟器上跑,一直没有声音,总是刚开始播放就暂停.做个笔记.

准备资源:

音乐图片地址:http://ac-5g9r20ds.clouddn.com/63bedb5f584234b6827c.jpg

音乐mp3地址:http://ac-5g9r20ds.clouddn.com/e54ad7f0a834b9c07ec6.mp3

我用leancloud做的后台.真机测试有效

上张图,这是在模拟器上跑的.播放也能正常运行.右边是获取到的播放状态参数.代码部分说.

微信小程序开发之音乐播放器 真机测试 audio API


下面是真机上的图.

微信小程序开发之音乐播放器 真机测试 audio API

同样可以获取到播放状态参数:

微信小程序开发之音乐播放器 真机测试 audio API


在不关闭音乐的情况下,退出小程序,是这样的.我当时就惊呆了.这会让小程序有更多露脸的机会啊.我一定的写个能播放音频的小程序.哈哈.

微信小程序开发之音乐播放器 真机测试 audio API


再次进入的时候是这样的,图片是在js里面设置的.就在开始说的链接.

微信小程序开发之音乐播放器 真机测试 audio API


代码:

1.index.wxml

<!--index.wxml-->

<button class="button-style"  bindtap="listenerButtonPlay">播放</button>
<button class="button-style" bindtap="listenerButtonPause">暂停</button>
<button class="button-style" bindtap="listenerButtonSeek">设置播放进度</button>
<button class="button-style" bindtap="listenerButtonStop">停止播放</button>
<button class="button-style" bindtap="listenerButtonGetPlayState">获取播放状态</button>


2.index.js

//index.js
//获取应用实例
var app = getApp()
Page({
  data: {
  },
  listenerButtonPlay: function () {
    wx.playBackgroundAudio({
      //播放地址
      dataUrl: 'http://ac-5g9r20ds.clouddn.com/e54ad7f0a834b9c07ec6.mp3',
      title: '李宗盛',
      //图片地址
      coverImgUrl: 'http://ac-5g9r20ds.clouddn.com/63bedb5f584234b6827c.jpg'
    })
   
  },

  /**
   * 播放状态
   */
  listenerButtonGetPlayState: function () {
    wx.getBackgroundAudioPlayerState({
      success: function (res) {
        console.log('duration:' + res.duration)
        console.log('currentPosition:' + res.currentPosition)
        console.log('status:' + res.status)
        console.log('downloadPercent:' + res.downloadPercent)
        console.log('dataUrl:' + res.dataUrl)
      }
    })
  },
  /**
   * 监听button暂停按钮
   */
  listenerButtonPause: function () {
    wx.pauseBackgroundAudio();
    console.log('暂停播放')
  },
  /**
   * 设置进度
   */
  listenerButtonSeek: function () {
    wx.seekBackgroundAudio({
      position: 40
    })
  },
  /**
   *停止播放 
   */
  listenerButtonStop: function () {
    wx.stopBackgroundAudio()
    console.log('停止播放')
  },

  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
    /**
     * 监听音乐播放
     */
    wx.onBackgroundAudioPlay(function () {
      console.log('onBackgroundAudioPlay')
    })

    /**
     * 监听音乐暂停
     */
    wx.onBackgroundAudioPause(function () {
      console.log('onBackgroundAudioPause')
    })

    /**
     * 监听音乐停止
     */
    wx.onBackgroundAudioStop(function () {
      console.log('onBackgroundAudioStop')
    })
  },
})

3.index.wxss

/**index.wxss**/
.button-style{
    background-color: #eee;
    border-radius: 8rpx;
    margin: 20rpx;
}


详细的API就不说了.看看文档就知道了.


我的博客:http://blog.csdn.net/qq_31383345