iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序实现视频播放器发送弹幕的方法
  • 160
分享到

微信小程序实现视频播放器发送弹幕的方法

2023-06-14 19:06:02 160人浏览 薄情痞子
摘要

这篇文章主要介绍了微信小程序实现视频播放器发送弹幕的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、视频播放器video-detail 视频播放器select-colo

这篇文章主要介绍了微信小程序实现视频播放器发送弹幕的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、视频播放器

  • video-detail 视频播放器

  • select-color 发送弹幕

1. 页面制作

微信小程序实现视频播放器发送弹幕的方法

2. 选择弹幕颜色

微信小程序实现视频播放器发送弹幕的方法

3、 Video插件的使用

微信小程序实现视频播放器发送弹幕的方法

4. 相关代码

app.JSON

//app.json{  "pages":[    "pages/video-detail/video-detail",    "pages/select-color/select-color",    "pages/index/index",    "pages/logs/logs"  ],  "window":{    "backgroundTextStyle":"light",    "navigationBarBackgroundColor": "#fff",    "navigationBarTitleText": "视频播放器",    "navigationBarTextStyle":"black"  },  "style": "v2",  "sitemapLocation": "sitemap.json"}

app.wxss

.container {  height: 100%;  display: flex;  flex-direction: column;  align-items: center;  justify-content: space-between;  padding: 200rpx 0;  box-sizing: border-box;}

二、video-detail 视频播放器相关页面代码

video-detail.wxml

<!--pages/video-detail/video-detail.wxml--><view class="mainContent">    <view class="mainList">        <view class="playerInfo" data-src="{{videoDetail.videoUrl}}" wx:if="{{current_id && current_id == videoDetail.id}}">            <view class="video">                <video class="videoContent" id="videoId" show-center-play-btn="true" autoplay="true"                    danmu-list="{{danmuList}}" danmu-btn enable-danmu                 src="{{videoDetail.videoUrl}}" object-fit="fill" bindfullscreenchange="fullscreenchange"></video>            </view>        </view>        <view class="playerInfo" data-src="{{videoDetail.videoUrl}}" wx:if="{{current_id =='' || current_id != videoDetail.id}}">            <view class="video">                <image class="playImg" src="/images/play.png" mode="aspectFill" bindtap="videoPlay" id="{{videoDetail.id}}" data-index="videoId"/>                <image class="videoContent" src="{{videoDetail.poster}}" mode="aspectFill" bindtap="videoPlay" id="{{videoDetail.id}}" data-index="videoId"/>            </view>        </view>    </view>    <!--弹幕-->    <view class="danmu">        <view class="danmu-input">            <input class="weui-input" type="text" placeholder="请输入弹幕" bindblur="bindInputblur"/>        </view>        <view class="danmu-btn">            <button type="primary" bindtap = "bindSendDanmu">发送弹幕</button>        </view>        <view class="danmu-color">            <view class="danmu-color-switch">                <view class="weui-cell-bd">随机颜色</view>                <view class="weui-cell-ft">                    <switch checked="true" type="switch" bindchange="switchChange"></switch>                </view>            </view>            <view class="danmu-color-select" bindtap = "selectColor">                <view class="weui-cell-bd">选择颜色</view>                <view class="weui-cell-ft">                    <view class="selectColor" ></view>                </view>            </view>        </view>    </view></view>

video-detail.wxss

.mainContent{  background: #ffffff;  overflow: auto;}.mainList{  width:100%;  background: #ffffff;  height: 396rpx;}.video{  width:94%;  height: 324rpx;  margin-left: 20rpx;  position: relative;}.videoContent{  width:100%;  height: 324rpx;}.playImg{  position: absolute;  top: 46%;  left:46%;  width:64rpx;  height: 64rpx;}.danmu{  width:100%;}.danmu-input{  width:100%;  height: 60rpx;}.weui-input{   display: flex;  width:94%;  height: 60rpx;  align-items: center;  margin-left: 20rpx;  border-radius: 8rpx;  border:2rpx solid #cccccc;  padding-left:10rpx;  font-size: 28rpx;}.danmu-btn{  width:100%;  margin-top: 20rpx;}.danmu-color{  width:100%;  margin-top: 20rpx;  border-top:2rpx solid #cccccc;}.danmu-color-switch,.danmu-color-select{  display: flex;  flex-direction: row;  justify-content: space-between;  align-items: center;  margin: 20rpx 20rpx 0 20rpx;}.weui-cell-bd{  font-size: 28rpx;}.weui-cell-ft{  font-size: 28rpx;}.selectColor{  width:80rpx;  height: 80rpx;  line-height: 100rpx;}

video-detail.js

// pages/video-detail/video-detail.jsPage({    data: {    current_id:'',//当前播放视频id    videoDetail:{      id:"1",      "videoUrl":"Http://1256993030.vod2.myqcloud.com/d520582dvodtransgzp1256993030/7732bd367447398157015849771/v.f30.mp4",      "poster":"//vodplayerinfo-10005041.file.myqcloud.com/3035579109/vod_paster_pause/paster_pause1469013308.jpg"    },    //弹幕列表    danmuList:[      {        text: '第1s出现的红色弹幕',        color: '#ff0000',        time: 1      },      {        text: '第2s出现的绿色弹幕',        color: '#00ff00',        time: 2      },          ],    isRandomColor: true,// 默认随机    numberColor:"#ff0000",//默认红色    inputValue: "",//文本框输入内容       },    onLoad: function (options) {      },      onShow: function(){    if(wx.getStorageSync('color')){      this.setData({        numberColor: wx.getStorageSync('color')      })    }  },    onReady: function () {    this.videoContext = wx.createVideoContext("videoId")  },  //视频列表点击事件  videoPlay:function(e){    console.log(e)    var id= e.currentTarget.dataset.index    var currentId=e.currentTarget.id    this.setData({      current_id: currentId    })    var videoContext = wx.createVideoContext(id)    videoContext.play()  },  //文本框失去焦点事件  bindInputblur: function(e){    // console.log(e.detail.value)    this.data.inputValue = e.detail.value  },  //发送弹幕内容  bindSendDanmu : function(e){    //设置弹幕颜色    var color=""    if(this.data.isRandomColor){//随机颜色      color = this.getRandomColor()    }else{      color = this.data.numberColor    }    //发送弹幕    this.videoContext.sendDanmu({      text: this.data.inputValue,      color:color    })  },  //设置随机颜色  getRandomColor(){    let 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('')  },  //switch开关切换事件  switchChange: function(e){    console.log(e)    this.data.isRandomColor = e.detail.value  },  //选择颜色  selectColor:function(){    wx.navigateTo({      url: '/pages/select-color/select-color'    })  }})

三、select-color 发送弹幕相关页面代码

select-color.wxml

<!--pages/select-color/select-color.wxml--><view class="page">    <view class="page_bd">        <view class="color-items">            <block wx:for="{{colorItems}}">                <view class="item" data-number="{{item.number}}" bindtap = "selectColor">                    <view class="item-icon" ></view>                </view>            </block>        </view>    </view></view>

select-color.wxss

.color-items{  border-top: 1rpx solid #d9d9d9;  border-left: 1rpx solid #d9d9d9;}.item{  position: relative;  float: left;  padding: 20rpx;   width: 20%;  box-sizing: border-box;  border-right: 1rpx solid #d9d9d9;  border-bottom: 1rpx solid #d9d9d9;}.item-icon{  display: block;  width:100rpx;  height: 100rpx;  margin: 0 auto;  box-shadow: 3px 3px 5px #bbbbbb;}

select-color.js

// pages/select-color/select-color.jsPage({    data: {    colorItems:[      { key: 1, color: ' 白色 ', number: '#FFFFFF' },      { key: 2, color: ' 红色 ', number: '#FF0000' },      { key: 3, color: ' 绿色 ', number: '#00FF00' },      { key: 4, color: ' 蓝色 ', number: '#0000FF' },      { key: 5, color: ' 牡丹红 ', number: '#FF00FF' },      { key: 6, color: ' 青色 ', number: '#00FFFF' },      { key: 7, color: ' 黄色 ', number: '#FFFF00' },      { key: 8, color: ' 黑色 ', number: '#000000' },      { key: 9, color: ' 海蓝 ', number: '#70DB93' },      { key: 10, color: ' 巧克力色 ', number: '#5C3317' },      { key: 11, color: ' 蓝紫色 ', number: '#9F5F9F' },      { key: 12, color: ' 黄铜色 ', number: '#B5A642' },      { key: 13, color: ' 亮金色 ', number: '#D9D919' },      { key: 14, color: ' 棕色 ', number: '#A67D3D' },      { key: 15, color: ' 青铜色 ', number: '#8C7853' },      { key: 16, color: ' 2号青铜色 ', number: '#A67D3D' },      { key: 17, color: ' 士官服蓝色 ', number: '#5F9F9F' },      { key: 18, color: ' 冷铜色 ', number: '#D98719' },      { key: 19, color: ' 铜色 ', number: '#B87333' },      { key: 20, color: ' 珊瑚红 ', number: '#FF7F00' },      { key: 21, color: ' 紫蓝色 ', number: '#42426F' },      { key: 22, color: ' 深棕 ', number: '#5C4033' },      { key: 23, color: ' 深绿 ', number: '#2F4F2F' },      { key: 24, color: ' 深铜绿色 ', number: '#4A766E' },      { key: 25, color: ' 深橄榄绿 ', number: '#4F4F2F' },      { key: 26, color: ' 深兰花色 ', number: '#9932CD' },      { key: 27, color: ' 深紫色 ', number: '#871F78' },      { key: 28, color: ' 深石板蓝 ', number: '#6B238E' },      { key: 29, color: ' 深铅灰色 ', number: '#2F4F4F' },      { key: 30, color: ' 深棕褐色 ', number: '#97694F' },      { key: 32, color: ' 深绿松石色 ', number: '#7093DB' },      { key: 33, color: ' 暗木色 ', number: '#855E42' },      { key: 34, color: ' 淡灰色 ', number: '#545454' },      { key: 35, color: ' 土灰玫瑰红色 ', number: '#856363' },      { key: 36, color: ' 长石色 ', number: '#D19275' },      { key: 37, color: ' 火砖色 ', number: '#8E2323' },      { key: 38, color: ' 森林绿 ', number: '#238E23' },      { key: 39, color: ' 金色 ', number: '#CD7F32' },      { key: 40, color: ' 鲜黄色 ', number: '#DBDB70' },      { key: 41, color: ' 灰色 ', number: '#C0C0C0' },      { key: 42, color: ' 铜绿色 ', number: '#527F76' },      { key: 43, color: ' 青黄色 ', number: '#93DB70' },      { key: 44, color: ' 猎人绿 ', number: '#215E21' },      { key: 45, color: ' 印度红 ', number: '#4E2F2F' },      { key: 46, color: ' 土黄色 ', number: '#9F9F5F' },      { key: 47, color: ' 浅蓝色 ', number: '#C0D9D9' },      { key: 48, color: ' 浅灰色 ', number: '#A8A8A8' },      { key: 49, color: ' 浅钢蓝色 ', number: '#8F8FBD' },      { key: 59, color: ' 浅木色 ', number: '#E9C2A6' },      { key: 60, color: ' 石灰绿色 ', number: '#32CD32' },      { key: 61, color: ' 桔黄色 ', number: '#E47833' },      { key: 62, color: ' 褐红色 ', number: '#8E236B' },      { key: 63, color: ' 中海蓝色 ', number: '#32CD99' },      { key: 64, color: ' 中蓝色 ', number: '#3232CD' },      { key: 65, color: ' 中森林绿 ', number: '#6B8E23' },      { key: 66, color: ' 中鲜黄色 ', number: '#EAEAAE' },      { key: 67, color: ' 中兰花色 ', number: '#9370DB' },      { key: 68, color: ' 中海绿色 ', number: '#426F42' },      { key: 69, color: ' 中石板蓝色 ', number: '#7F00FF' },      { key: 70, color: ' 中春绿色 ', number: '#7FFF00' },      { key: 71, color: ' 中绿松石色 ', number: '#70DBDB' },      { key: 72, color: ' 中紫红色 ', number: '#DB7093' },      { key: 73, color: ' 中木色 ', number: '#A68064' },      { key: 74, color: ' 深藏青色 ', number: '#2F2F4F' },      { key: 75, color: ' 海军蓝 ', number: '#23238E' },      { key: 76, color: ' 霓虹篮 ', number: '#4D4DFF' },      { key: 77, color: ' 霓虹粉红 ', number: '#FF6EC7' },      { key: 78, color: ' 新深藏青色 ', number: '#00009C' },      { key: 79, color: ' 新棕褐色 ', number: '#EBC79E' },      { key: 80, color: ' 暗金黄色 ', number: '#CFB53B' },      { key: 81, color: ' 橙色 ', number: '#FF7F00' },    ]  },    onLoad: function (options) {  },    onReady: function () {  },  //点击,选中颜色  selectColor(e){    console.log(e)    let number =e.currentTarget.dataset.number    //存储在本地    wx.setStorageSync('color', number)    //返回上一页    wx.navigateBack({      delta: 1, // 回退前 delta(默认为1) 页面      success: function(res){        // success      },      fail: function() {        // fail      },      complete: function() {        // complete      }    })  }})

四、页面实现效果

微信小程序实现视频播放器发送弹幕的方法

感谢你能够认真阅读完这篇文章,希望小编分享的“微信小程序实现视频播放器发送弹幕的方法”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 微信小程序实现视频播放器发送弹幕的方法

本文链接: https://www.lsjlt.com/news/274480.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序实现视频播放器发送弹幕的方法
    这篇文章主要介绍了微信小程序实现视频播放器发送弹幕的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、视频播放器video-detail 视频播放器select-colo...
    99+
    2023-06-14
  • 微信小程序实现视频播放器发送弹幕
    本文实例为大家分享了微信小程序实现视频播放器发送弹幕的具体代码,供大家参考,具体内容如下 一、视频播放器 video-detail 视频播放器 select-col...
    99+
    2024-04-02
  • 微信小程序——video视频播放
    1、功能介绍 可以实现视频的播放暂停,发送弹幕,获取视频所处位置等。 2、video组件 1、用处 video组件常用于视频的播放,默认宽度为300px,高度为225px。 2、属性       3、index.js中的数据部分 data:...
    99+
    2023-09-13
    音视频 小程序 微信小程序 微信 前端
  • 微信小程序实现播放音频
    本文实例为大家分享了微信小程序实现播放音频的具体代码,供大家参考,具体内容如下 wxml: <!-- 语音 --> <view wx:if="{{content...
    99+
    2024-04-02
  • 微信小程序视频弹幕位置随机
    本文实例为大家分享了微信小程序视频弹幕位置随机的具体代码,供大家参考,具体内容如下 最近更新开发工具之后,微信小程序视频播放弹幕不再自动随机,所以就用了一个比较取巧的方法(多条空弹幕...
    99+
    2024-04-02
  • 微信小程序之video组件视频播放
    目录1、功能介绍2、video组件2.1、用处2.2、属性3、index.js中的数据部分4、结构布局index.wxml5、样式部分index.wxss6、弹幕实现功能7、获取视频...
    99+
    2024-04-02
  • 纯编码实现微信小程序弹幕效果(非视频底)
    效果图 wxml <view class="index-view"> <image class='background-img' src="/images/b...
    99+
    2024-04-02
  • 微信小程序怎么实现播放音频
    这篇文章主要介绍“微信小程序怎么实现播放音频”,在日常操作中,相信很多人在微信小程序怎么实现播放音频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么实现播放音频”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-19
  • 微信小程序实现播放音频功能
    本文实例为大家分享了微信小程序实现播放音频的具体代码,供大家参考,具体内容如下 功能描述:一进页面就会播放音乐,点击暂停再次点击后可以开始播放,退出页面后播放停止。 HTML: &l...
    99+
    2024-04-02
  • 微信小程序中怎么集成视频播放器
    要在微信小程序中集成视频播放器,可以使用小程序原生的<video>组件来实现。 首先,在小程序的wxml文件中添加<...
    99+
    2024-04-03
    微信小程序
  • 微信小程序使用视频播放器video组件
    本文实例为大家分享了微信小程序使用视频播放器video组件的具体代码,供大家参考,具体内容如下 在app.json中配置好页面路由和权限。 1.app.json { "pag...
    99+
    2024-04-02
  • 怎么在微信小程序中实现一个视频弹幕效果
    本篇文章为大家展示了怎么在微信小程序中实现一个视频弹幕效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。wxml代码<!--pages/study/video/videoplay/videop...
    99+
    2023-06-14
  • 实现微信小程序中的音频播放功能
    标题:实现微信小程序中的音频播放功能微信小程序作为一种快速便捷的应用开发平台,为开发者提供了众多丰富的功能。在小程序中,音频播放功能是非常常见且重要的需求之一。本文将介绍如何在微信小程序中实现音频播放功能,并提供具体的代码示例。一、准备工作...
    99+
    2023-11-21
    音频播放 微信小程序 实现功能
  • 微信小程序如何停止其他视频播放当前视频
    这篇文章主要介绍了微信小程序如何停止其他视频播放当前视频,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序停止其他视频播放当前视频,代...
    99+
    2024-04-02
  • 怎么使用微信小程序实现播放音频
    这篇“怎么使用微信小程序实现播放音频”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用微信小程序实现播放音频”文章吧。w...
    99+
    2023-07-02
  • 微信小程序实现录音与音频播放功能
    目录1、录音1.1 案例2、音频播放控制2.1 案例小程序继承了微信强大的语音处理功能,提供了录音、音频播放控制和背景音乐等功能,它们的功能不同,但有相似性。 1、录音 小程序提供了...
    99+
    2024-04-02
  • 微信视频点播小程序系统设计与实现
        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序视频点播系统,前台用户使用小程序,后台管理使用基java(springboot框架)+msyql8数据库的B/S架构;通过后台添加课程信息、视频信息...
    99+
    2023-09-01
    java 开发语言
  • 基于PHP微信小程序视频电影播放系统设计与实现
    开发概要 开发操作系统:windows10 + 4G内存 + 500G 小程序开发:微信开发者工具(MINA框架) 后台环境:IIS +PHP 后台开发语言:PHP 后台开发工具:Dreamweaver +PhpStor...
    99+
    2023-08-31
    php 微信小程序 前端 Powered by 金山文档
  • 微信小程序中实现——【音乐播放器】
    文章目录 一、学习目标1、掌握swiper组件、scroll-view组件的使用2、掌握image组件的使用3、掌握音频API的使用4、掌握slider组件的使用 二、开发前的准备1...
    99+
    2023-09-13
    微信小程序 小程序
  • 微信小程序实现自动播放视频模仿gif动图效果实例
    需求背景: 在小程序页面插入gif动态图,但gif图一般体积比较大,转而用自动播放视频的模式来模拟gif图的效果,丰富页面展示。自动播放的视频,无控制条,无声音,自动循环播放。 技术...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作