首页 > 编程语言 >小程序视频播放小窗口模式

小程序视频播放小窗口模式

时间:2023-04-07 15:11:45浏览次数:48  
标签:function 视频 videoContext 窗口 color text rgb 播放 弹幕

效果图:

 

 

 

 

 官方文档:  https://developers.weixin.qq.com/miniprogram/dev/component/video.html

 

demo代码:

 

 

<view class="page-body">
  <view class="page-section tc">
    <video class="{{isFiexd?'video-fixed':''}}" id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" binderror="videoErrorCallback" danmu-list="{{danmuList}}" picture-in-picture-mode="{{['push','pop']}}" enable-danmu danmu-btn controls></video>

    <view class="weui-cells">
      <view class="weui-cell weui-cell_input">
        <view class="weui-cell__hd">
          <view class="weui-label">弹幕内容</view>
        </view>
        <view class="weui-cell__bd">
          <input bindblur="bindInputBlur" class="weui-input" type="text" placeholder="在此处输入弹幕内容" />
        </view>
      </view>
    </view>
    <view class="btn-area">
      <button bindtap="bindToFiexd" class="page-body-button" type="primary">{{isFiexd?'返回正常模式':'当前页面小窗'}}</button>
      <button bindtap="bindNavPage" class="page-body-button" type="primary">跳转其它页面</button>
      <button bindtap="bindSendDanmu" class="page-body-button" type="primary" formType="submit">发送弹幕</button>
      <button bindtap="bindPlay" class="page-body-button" type="primary">播放</button>
      <button bindtap="bindPause" class="page-body-button" type="primary">暂停</button>
    </view>
  </view>
</view>
function getRandomColor () {
  const rgb = []
  for (let i = 0 ; i < 3; ++i){
    let color = Math.floor(Math.random() * 256).toString(16)
    color = color.length == 1 ? '0' + color : color
    rgb.push(color)
  }
  return '#' + rgb.join('')
}

Page({
  onReady: function (res) {
    this.videoContext = wx.createVideoContext('myVideo')
  },
  inputValue: '',
    data: {
    src: '',
    danmuList:
      [{
        text: '第 1s 出现的弹幕',
        color: '#ff0000',
        time: 1
      },
      {
        text: '第 3s 出现的弹幕',
        color: '#ff00ff',
        time: 3
      }]
    },
  bindInputBlur: function(e) {
    this.inputValue = e.detail.value
  },
  bindSendDanmu: function () {
    this.videoContext.sendDanmu({
      text: this.inputValue,
      color: getRandomColor()
    })
  },
  bindPlay: function() {
    this.videoContext.play()
  },
  bindPause: function() {
    this.videoContext.pause()
  },
  bindNavPage() {
    this.videoContext.play(); // 必须是播放中小窗模式才会生效
    wx.navigateTo({
      url: '/pages/demo1',
    })
  },
  bindToFiexd() {
    this.setData({
      isFiexd: !this.data.isFiexd
    });
  },
  videoErrorCallback: function(e) {
    console.log('视频错误信息:')
    console.log(e.detail.errMsg)
  }
})
@import "../lib/weui.wxss";

.weui-cells{
  margin-top: 80rpx;
  text-align: left;
}
.weui-label{
  width: 5em;
}

.page-body-button {
  margin-bottom: 30rpx;
}
.video-fixed {
  position: fixed;
  bottom: 180rpx;
  right: 20rpx;
  width: 300rpx;
  height: 200rpx;
}

 

微信交流社区参考链接:  https://developers.weixin.qq.com/community/develop/doc/000ea2fb128d103aaa2c872525b000

标签:function,视频,videoContext,窗口,color,text,rgb,播放,弹幕
From: https://www.cnblogs.com/520BigBear/p/17296242.html

相关文章

  • 使用模板窗口生成测试数据
    1.准备工作*需要的环境1.Oralce、MySQL、PG等主流数据库2.HHDBCS7.6及以上版本*测试步骤1.建立两张表带有主外键关系2.使用模板窗口生成数据,主键表生成100条,外键表生成10000条3.校验数据生成情况2.建立两张表带有主外键关系--主键表createtabledept(d_id......
  • ios17更新后打不开视频
    有些小伙伴在手机更新之后打不开视频了,这是怎么回事呢,应该是更新之后把相机的兼容性关闭了,所以导致了视频看不了的,那么现在就让我们看一下如何解决吧。ios17更新后打不开视频:1、首先我们打开设置。2、然后找到视频。3、接着我们找到无线局域网。4、然后我们选择设置为良......
  • win101909播放设备无法正常工作解决方法
    我们在使用win10操作系统的时候,如果在升级了1909版本之后,可能会有部分小伙伴遇到win101909播放设备无法正常工作这样的问题。那么对于这种情况小编觉得可能是因为我们的系统在更新版本的时候丢失了一些系统文件导致的,可以尝试回退系统即可。详细步骤就来看下小编是怎么做的吧~win......
  • 视频剪辑工具,批量分割视频、合并视频、嵌套合并视频、支持添加字幕、调整色调
    最近有很多朋友在问,怎么剪辑视频,比如合并视频、分割视频、添加封面等等,该如何实现呢?今天小编给大家分享一个新的剪辑技巧,下面一起来试试吧。材料准备:一台Win系统的电脑安装一个好简单批量智剪视频素材若干步骤演示:步骤1:运行【好简单批量智剪】,其中有多个剪辑技巧,比如说分割视频,可以......
  • SpringCloud 多个服务启动放在一个窗口下的设置
    进入.idea文件夹,在workspace.xml文件中加入如下配置即可<componentname="RunDashboard"><optionname="configurationTypes"><set><optionvalue="SpringBootApplicationConfigurationType"/></set&......
  • android自定义Activity窗口大小(theme运用)
    正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示:实现起来非常简单。第一步,创建一个背景配置文件float_box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:):<?xmlversion="1.0"encoding="utf-8"......
  • python 检测视频区域是否有变化
    #!/usr/bin/envpython#coding:utf-8#@author:sSWans#@file:main.py#@time:2018/1/1115:54importosimportrandomfrom_datetimeimportdatetimeimportcv2path='d:\\C理论\\ti'#遍历目录下的视频文件defget_files(fpath):files_l......
  • Qt音视频开发35-左右通道音量计算和音量不同范围值的转换
    一、前言视频文件一般会有两个声音通道及左右声道,值有时候一样有时候不一样,很多场景下我们需要对其分开计算不同的音量值,在QAudioFormat中可以获取具体有几个通道,如果是一个通道,则左右通道值设定一样,计算通道的音量值一般是对所有音量数据转换后累加后进行一个换算即可,在Qt的示例......
  • M3U8流视频数据爬虫
    HLS技术介绍现在大部分视频客户端都采用HTTPLiveStreaming,而不是直接播放MP4等视频文件(HLS,Apple为了提高流播效率开发的技术)。HLS技术的特点是将流媒体切分为若干【TS片段】(比如几秒一段),然后通过一个【M3U8列表文件】将这些TS片段批量下载供客户端播放器实现实时流式播放。......
  • VideoView简单视频播放
    只是上上手而已的例子。packagecom.chenchen.app;importjava.io.File;importjava.io.FilenameFilter;importjava.util.ArrayList;importjava.util.List;importjava.util.Random;importandroid.app.Activity;importandroid.content.Context......