小程序根据是否wifi环境自动播放视频

 

做一个需求,在文章详情页面有一个新闻短视频,当在流量环境下时因为要加载视频,导致下面的内容也加载不出来,所以我需要判断是否wifi环境,从而选择是否自动播放视频

wx.getNetworkType(OBJECT)

获取网络类型。

OBJECT参数说明:

参数类型必填说明
successFunction接口调用成功,返回网络类型 networkType
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数说明
networkType网络类型
wx.getNetworkType({
  success: function(res) {
    // 返回网络类型, 有效值:
    // wifi/2g/3g/4g/unknown(Android下不常见的网络类型)/none(无网络)
    var networkType = res.networkType
  }
})

 

networkType 有效值:

说明
wifiwifi 网络
2g2g 网络
3g3g 网络
4g4g 网络
none无网络
unknownAndroid下不常见的网络类型

wxss:

.show {
  display: block;
}
.hide {
  display: none;
}

显示与隐藏,小程序不能操作view,只好通过变量显示与隐藏view

wxml:

<block wx:if="{{ isWifi == true }}">
    <video src="{{ video_url }}" controls autoplay='true' ></video>
    </block>
    <block wx:else>
      <image src="{{ util.getImageSrc(article.image.key) }}" class="{{ coverImageClass }}">
        <cover-view class="play" bindtap="play">
          <cover-image class="img" bindtap='showVideo' src="https://www.jxcat.com/client/images/mobile/icons/play1.png" />
        </cover-view>
      </image>
      <video src="{{ coverVideoSrc }}" id="showVideoBox" controls class="{{ videoClass }}"></video>
    </block>

js:

data: {
    article: '',
    avatar: '',
    nick_name: '',
    video_url: '',
    coverImageClass: 'show',
    videoClass: 'hide',
    coverVideoSrc: '',
    videoContext : '',
    isWifi: false
  },
 onLoad: function (options) {
    this.getWifiEnv()
 },
 onReady: function () {
    this.videoContext = wx.createVideoContext('showVideoBox')
  },
  // 加载视频
  showVideo: function (event) {
    var that = this
    that.setData({
      coverImageClass: 'hide',
      videoClass: 'show',
      coverVideoSrc: that.data.video_url
    }, function() {
      that.videoContext.play()
    })
  },
  getWifiEnv: function () {
    var that = this
    wx.getNetworkType({
      success: function (res) {
        if (res.networkType == 'wifi') {
          that.setData({
            isWifi: true
          })
        }
      }
    })
  }

如果是wifi环境,就自动播放视频,如果不是,就先加载缩略图,点击播放按钮才加载视频并播放

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值