微信小程序学习——视频播放小程序

article/2025/10/29 15:43:21

一、视图设计

(一)导航栏设计

# app.json——导航栏设置
{"pages":["pages/index/index"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#000080","navigationBarTitleText": "口述校史","navigationBarTextStyle":"white"},"style": "v2","sitemapLocation": "sitemap.json"
}

在这里插入图片描述

(二)页面设计

1.视频组件

# pages/index.wxml
<!--区域一:视频播放器-->
<video id='myVideo'controls></video># pages/index.wxss
/*视频组件样式*/
video{width:100%; /*视频组件宽度为100%*/
}

在这里插入图片描述

2.弹幕区域

# pages/index.wxml
<!--区域2∶弹幕控制-->
<view class='danmuArea'><input type='text'placeholder='请输入弹幕内容'></input><button>发送弹幕</button>
</view># pages/index.wxss
/*区域2∶弹幕控制样式*/
/*2-1弹幕区域样式*/
.danmuArea {display: flex; /*flex模型布局*/flex-direction:row; /*水平方向排列*/
}/*2-2文本输入框样式*/
input {border:1rpx solid #987938; /*1rpx宽的实线棕色边框*/flex-grow:1; /*扩张多余空间宽度*/height:100rpx; /*高度*/ 
}/*2-3按钮样式*/
button {color:white; /*字体颜色*/background-color:#987938; /*背景颜色*/
}

在这里插入图片描述

3.视频列表

# pages/index.wxml
<!--区域3∶视频列表-->
<view class='videoList'><view class='videoBar'><image src='/image/play.png'></image><text>这是一个测试标题</text></view>
</view># pages/index.wxss
/*区域3∶视频列表样式*/
/*3-1视频列表区域样式*/
.videoList {width:100%; /*宽度*/min-height:400rpx; /*最小高度*/
}/*3-2单行列表区域样式*/
.videoBar {width:95%; /*宽度*/display: flex; /*flex模型布局*/flex-direction:row; /*水平方向布局*/border-bottom:1rpx solid #987938; /*1rpx宽的实线棕色边框*/margin:10rpx; /*外边距*/
}/*3-3播放图标样式*/
image {width:70rpx; /*宽度*/height:70rpx; /*高度*/margin: 20rpx; /*外边距*/
}/*3-4文本标题样式*/
text {font-size:45rpx; /*字体大小*/color: #987938; /*字体颜色为棕色*/margin: 20rpx; /*外边距*/flex-grow:1; /*扩张多余空间宽度*/
}

在这里插入图片描述

二.逻辑实现

1.更新播放列表

# pages/index.wxml
<!--区域一:视频播放器-->
<video id='myVideo'controls src="{{src}}"></video>
...
<!--区域3∶视频列表-->
<view class='videoList'><view class='videoBar'wx:for='{{list}}'wx:key='video{{index}}'><image src='/image/play.png'></image><text>{{item.title}}</text></view>
</view># pages/index.js
/*** 页面的初始数据*/data: {list: [{id: '1001',title: '杨国宜先生口述校史实录',videoUrl: 'http://arch.ahnu.edu.cn/__local/6/CB/D1/C2DF3FC847F4CE2ABB67034C595_025F0082_ABD7AE2.mp4?e=.mp4'},{id: '1002',title: '唐成伦先生口述校史实录',videoUrl: 'http://arch.ahnu.edu.cn/__local/E/31/EB/2F368A265E6C842BB6A63EE5F97_425ABEDD_7167F22.mp4?e=.mp4'},{id: '1003',title: '倪光明先生口述校史实录',videoUrl: 'http://arch.ahnu.edu.cn/__local/9/DC/3B/35687573BA2145023FDAEBAFE67_AAD8D222_925F3FF.mp4?e=.mp4'},{id: '1004',title: '吴仪兴先生口述校史实录',videoUrl: 'http://arch.ahnu.edu.cn/__local/5/DA/BD/7A27865731CF2B096E90B522005_A29CB142_6525BCF.mp4?e=.mp4'}]},

在这里插入图片描述

2.点击播放视频

# pages/index.wxml
<!--区域3∶视频列表-->
<view class='videoList'><view class='videoBar'wx:for='{{list}}'wx:key='video{{index}}'data-url='{{item.videoUrl}}'bindtap='playVideo'><image src='/image/play.png'></image><text>{{item.title}}</text></view>
</view># pages/index.js
Page({
/**
* 播放视频
*/playVideo: function(e) {//停止之前正在播放的视频this. videoCtx. stop()//更新视频地址this.setData({src:e.currentTarget.dataset.url })//播放新的视频this.videoCtx.play()}, 
.../*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.videoCtx = wx.createVideoContext('myVideo')},

在这里插入图片描述
在这里插入图片描述

3.发送弹幕

# pages/index.wxml
<!--区域一:视频播放器-->
<video id='myVideo' controls autoplay src="{{src}}" enable-danmu-btn></video><!--区域2∶弹幕控制-->
<view class='danmuArea'><input type='text'placeholder='请输入弹幕内容'bindinput='getDanmu'></input><button bindtap='sendDanmu'>发送弹幕</button>
</view><!--区域3∶视频列表-->
<view class='videoList'><view class='videoBar'wx:for='{{list}}'wx:key='video{{index}}'data-url='{{item.videoUrl}}'bindtap='playVideo'><image src='/image/play.png'></image><text>{{item.title}}</text></view>
</view># pages/index.js
//生成随机颜色
function 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:colorrgb.push(color)}return '#'+rgb.join('')
}/*** 更新弹幕内容*/
getDanmu: function(e){this.setData({danmuTxt:e.detail.value})
},/*** 发送弹幕*/
sendDanmu: function(e){let text = this.data.danmuTxt;this.videoCtx.sendDanmu({text:text,color:getRandomColor()})
},

在这里插入图片描述


http://chatgpt.dhexx.cn/article/qV5m6Qg9.shtml

相关文章

小程序视频(video)播放不了

1、原因&#xff1a;URl加密了 解决&#xff1a; 2、CSS层级遮挡&#xff0c;导致无法点击问题解决 因层级覆盖、定位等&#xff0c;导致某些地方点击不生效&#xff0c;给遮挡元素设置pointer-events: none即可 若遮挡元素这层有点击事件等&#xff0c;需要另给操作区域设置…

教你下载微信小程序里的视频

目录 利用 Fiddler (http抓包工具)IDM 油猴脚本下载 利用 Fiddler (http抓包工具) 在电脑上打开了小程序的视频&#xff0c;但是我们现在还是不能获取到视频的url地址&#xff0c;这里就需要用到我们的fiddler工具了&#xff08;Fiddler是一个http协议调试代理工具&#xff0c…

小程序中的视频下载

一个朋友问我他看到小程序中有一个视频&#xff0c;但是他不知道如何下载下来&#xff0c;我在手机上面打开想直接下载发现还真没有可以直接下载的按钮&#xff0c;然后研究得出大概思路如下&#xff0c;在电脑中打开小程序&#xff0c;然后使用wireshark转包工具抓取数据分析获…

微信小程序实现视频功能(一):视频上传

微信小程序开发实现视频的上传&#xff08;官方提供了API&#xff0c;基本直接调用就可以了&#xff09; 一、效果图&#xff1a; 二、代码实现 1. video.wxml <!--pages/video/video.wxml--> <view class"main"><view class"playerInfo"…

微信小程序视频+微信视频号视频下载教程

之前「随书光盘」那期文章说了要出一期文章来教下「微信小程序视频」怎么下载 阿虚小小研究了一下&#xff0c;今天就来分享一下教程 同时这篇文章也会顺便教下微信「视频号」的视频怎么下载 ▍1 微信小程序视频怎么下载&#xff1f; 以下要说的是真限制在微信小程序内观看的…

下载微信小程序中的视频

工具准备&#xff1a; Fiddler 我这里用的5.0的版本。&#xff08;这个用来抓取视频下载地址&#xff09; Internet Download Manager&#xff08;idm&#xff09;版本6.37&#xff08;这个用来下载视频&#xff09; 步骤&#xff1a; 打开Fiddler如下图配置后抓包 2.登录PC版微…

微信小程序——video视频播放

1、功能介绍 可以实现视频的播放暂停&#xff0c;发送弹幕&#xff0c;获取视频所处位置等。 2、video组件 2.1、用处 video组件常用于视频的播放&#xff0c;默认宽度为300px&#xff0c;高度为225px。 2.2、属性 属性说明src视频的资源地址loop是否循环播放&#xff0c;…

视频播放微信小程序

2022年夏季《移动软件开发》实验报告 一、实验目标 1、掌握视频列表的切换方法&#xff1b;2、掌握视频自动播放方法&#xff1b;3、掌握视频随机颜色弹幕效果。 二、实验步骤 列出实验的关键步骤、代码解析、截图。 1、创建项目 填好项目名称、目录、AppID等信息后&…

微信小程序视频基本操作

微信小程序视频基本操作 1、视频1.1 wx.createVideoContext(string id,Object this)接口1.1.2 VideoContext对象常用函数1.1.3 小案例 1.2 wx.chooseVideo()接口object.success 回调函数参数Object res 示例代码 1.2.1 小案例 1.3 wx.saveVideoToPhotosAlbum(Object object)接口…

【微信小程序】视频播放小程序

课程&#xff1f;中国海洋大学22夏《移动软件开发》实验名称实验3&#xff1a;视频播放小程序 一、实验目标 1、掌握视频列表的切换方法&#xff1b; 2、掌握视频自动播放方法&#xff1b; 3、掌握视频随机颜色弹幕效果。 二、实验步骤 一、项目创建 二、页面配置 创建页面…

微信小程序如何使用视频组件

小程序中可以使用视频组件来播放自己想要展示的视频&#xff0c;具体步骤如下 一、添加视频组件 1、点击“店铺”——“装修店铺”——“编辑”&#xff0c;进入小程序页面编辑。 2、点击“组件库”——“视频”&#xff0c;页面会添加视频组件&#xff0c;点击视频组件的“编…

PHP实现页面静态化、纯静态化及伪静态化

概念 php静态化分为&#xff1a;纯静态化 和 伪静态化&#xff1b; 纯静态化又分为&#xff1a;局部静态化 和 完全静态化 纯静态化&#xff1a;是把PHP生成的动态页面保存成静态的html文件&#xff0c;用户访问该静态页面&#xff0c;而不是用户每一次访问都重新生成一张相…

SpringBoot整合Thymleaf实现页面静态化

文章整理题材来源于传智播客乐优商城项目实战&#xff01; 1. 问题需求分析 在做乐优商城时&#xff0c;页面是通过Thymeleaf模板引擎渲染后返回到客户端。当商品详情页数据渲染时&#xff0c;在后台需要大量的数据查询&#xff0c;而后渲染得到HTML页面。在用户访问量大的情况…

网站页面静态化(二)thymeleaf生成

今年是农历大年初三&#xff0c;在这里首先给各位朋友拜个年&#xff0c;祝大家新年快乐&#xff0c;虎年大吉大利&#xff0c;事业蒸蒸日上。过年无事&#xff0c;把页面静态化技术整理整理。本文将以thymeleaf为例子&#xff0c;说明在springboot当中&#xff0c;如何基于thy…

HTML页面静态化技术

随着网站的内容的增多和用户访问量的增多&#xff0c;无可避免的是网站加载会越来越慢&#xff0c;受限于带宽和服务器同一时间的请求次数的限制&#xff0c;我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。 此文已Django的电商网站为例&#xff08;处理高并…

Thymeleaf动态页面静态化

Thymeleaf 目标 Thymeleaf的介绍Thymeleaf的入门Thymeleaf的语法及标签搜索页面渲染商品详情页静态化功能实现 1.Thymeleaf介绍 1动态页面&#xff1a; 通过执行asp、php、jsp和.net等程序生成客户端网页代码的网页。通常可以通过网站后台管理系统对网站的内容进行更新管理…

Java使用Freemarker页面静态化生成实现

Java使用Freemarker页面静态化生成实现 页面静态化其实就是将原来的动态网页(例如通过ajax请求动态获取数据库中的数据并展示的网页)改为通过静态化技术生成的静态网页&#xff0c;这样用户在访问网页时&#xff0c;服务器直接给用户响应静态html页面&#xff0c;没有了动态查询…

CMS-页面静态化技术

页面静态化技术 页面静态化技术是什么&#xff1f; 页面静态化主要运用在一些大型网站&#xff0c;有大量信息需要与数据库交互。比如大型电商网站京东&#xff0c;淘宝 &#xff0c;天猫等。电商网站最大的特点是什么&#xff1f;数据庞大&#xff0c;页面众多。那么我们都知…

java页面静态化

1.概念 页面静态化&#xff0c;其实就是将动态生成的jsp页面&#xff0c;变成静态的HTML页面&#xff0c;让用户直接访问。 2.优点 &#xff08;1&#xff09;加快页面打开浏览速度&#xff0c;静态页面无需连接数据库&#xff0c;打开速度较动态页面有明显提高。 &#xff…

页面静态化流程

本文首先采用CMS管理页面。 首先我们知道模板数据模型输出&#xff0c;页面静态化需要准备数据模型和模板&#xff0c;先知道数据模型的结构才可以编写模板&#xff0c;因为在模板中要引用数据模型中的数据&#xff0c;那么下面我来系统讲解CMS页面数据模型获取、模板管理及静…