美文网首页
微信客户端打开网页,自动播放背景音乐,ios&andriod

微信客户端打开网页,自动播放背景音乐,ios&andriod

作者: 谢顶强 | 来源:发表于2021-10-26 10:12 被阅读0次
需求:通过点击微信公众号中的按钮,跳转到一个活动网页,网页自动开始循环播放背景音乐。
环境:uni-app开发,适配iOS&andriod原生app及微信公众号网页。
开发流程:
    1. 创建背景音乐播放上下文:本文未选择audio标签,而选择音频api,原因请自行对比。
    1. 加载背景音乐播放地址
    1. 调用播放

上代码:

<script>
  export default {
    data: function() {
      return {
        music: null, // 背景音乐路径
        audioplayer: uni.createInnerAudioContext(), // 播放器上下文innerAudioContext
        isplaying: false // 标记播放状态,用来启动&暂停播放动画
      }
    },
    onLoad({id}) {
      // 处理音频播放上下文参数
      this.audioplayer.autoplay = true
      this.audioplayer.loop = true
      this.audioplayer.onPlay(()=>{
        this.isplaying = true
      })
      this.audioplayer.onPause(()=>{
        this.isplaying = false
      })
      // 由于我们的活动是自由选择背景音乐,所以需要根据id获取背景音乐地址
      this.loadMusic(id).then(music=>{
        // 播放音乐,如果为app,直接调用播放即可
        // #ifdef APP-PLUS
        this.playMusic(music)
        // #endif
        // #ifdef H5
        // 公众号开发,注入微信权限,或调用分享接口(此处内容请自行封装)
        /*
        wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来
          appId: appid, // 必填,公众号的唯一标识
          timestamp: timestamp, // 必填,生成签名的时间戳
          nonceStr: noncestr, // 必填,生成签名的随机串
          signature: sign, // 必填,签名
          jsApiList:['updateAppMessageShareData','updateTimelineShareData'] // 必填,需要使用的JS接口列表,开发文档上有所有接口名称,根据需要自行选用。
        });
        wx.ready(function() {
          this.playMusic(music)
        });
        */
        // 由于我们使用uni-app开发,统一在入口app.vue中转接到入口页面,在入口页面注入权限,已执行wx.ready(),重复注入不符合设计规范。
        // 所以,我们在此页面中,调用了分享设置接口,在完成设置后执行播放。
        // 以下两种方式都可以播放。
        wx.updateAppMessageShareData({
          title: title,
          desc: desc,
          link:link,
          imgUrl: imgUrl,
          success: ()=>{
            this.playMusic(music)
          }
        })
        wx.updateTimelineShareData({
          title: title,
          desc: desc,
          link:link,
          imgUrl: imgUrl,
          success: ()=>{
            this.playMusic(music)
          }
        })
        // #endif
      })
    },
    methods: {
      playMusic(music) {
        // 由于部分活动不需要配置背景音乐,music有可能为空
        if (music) {
          this.audioplayer.src = music
          this.audioplayer.play()
        }else {
          this.audioplayer.destory()
          this.audioplayer = null
        }
      },
      loadMusic(id) {
        // 此处执行网络请求后返回music
        let music;
        return new Promise(function(resolve, reject) {
          ...
          resolve(music)
        })
      }
    }
  }
</script>

相关文章

  • 微信客户端打开网页,自动播放背景音乐,ios&andriod

    需求:通过点击微信公众号中的按钮,跳转到一个活动网页,网页自动开始循环播放背景音乐。 环境:uni-app开发,适...

  • IOS从外部跳到自己的APP客户端

    项目需求 App中有微信分享功能,分享到微信点击打开后是一个网页,网页上有一个"打开客户端"按钮,点击要求跳到自己...

  • 移动端音频视频的坑

    记录下最近开发的微信公众网页中坑(微信中。。微信中。。微信中。。。) 关于自动播放 音视频不能自动播放是移动端的常...

  • 微信公众号开发(二)

    微信公众号开发文档 微信网页授权 微信客户端中访问第三方网页,可通过 微信网页授权机制 来获取用户信息。授权机制:...

  • 网页自动播放背景音乐

    我们有时候希望自己的文章带有背景音乐,使用audio很方便实现,添加属性autoplay="autoplay" 考...

  • 微信开发之微信网页授权

    微信网页授权 所谓的微信网页授权说白了就是 用户微信客户端内访问第三方网页,公众号可以根据网页授权这个机制来获取用...

  • 微信公众号开发 网页授权

    微信网页授权,即是通过访问 微信客户端 网页,实现获取对应的用户 微信信息的一项技术,在其中会调用微信的三个接口,...

  • H5及web页面微信授权登录流程

    PC端微信扫码登录流程: 为什么要微信登录: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制...

  • iOS 微信端背景音乐自动播放和控制

    iOS 微信端背景音乐自动播放和控制 所有的应用都是有其对应的应用场景,没有最好只有适合。 背景 由于个人不太擅长...

  • Linux Mint(Ubuntu)安装微信

    微信官方没有出Linux版本的微信客户端,但是有网页版本的。网上的大牛,通过 electron这个框架,把网页版本...

网友评论

      本文标题:微信客户端打开网页,自动播放背景音乐,ios&andriod

      本文链接:https://www.haomeiwen.com/subject/xvuealtx.html