1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 夏季《移动软件开发》实验报告三

夏季《移动软件开发》实验报告三

时间:2020-05-13 12:32:18

相关推荐

夏季《移动软件开发》实验报告三

(备注:将实验报告发布在博客、代码公开至 github 是加分项,不是必须做的)

一、实验目标

1、掌握视频列表的切换方法;2、掌握视频自动播放方法;3、掌握视频随机颜色弹幕效果。

二、实验步骤

1、创建项目

2、页面配置

按照要求删除相应文件中的代码,并且创建其他自定义文件。创建一个文件夹用于存放播放图标,命名为images

3、导航栏设计

对app.json自定义导航栏标题和背景颜色

"window": {"navigationBarBackgroundColor": "#987938","navigationBarTitleText": "校史"},

4、页面设计

区域一

<video id='myVideo' controls></video>video{width:100%;}

区域二

<view class='danmuArea'><input type='text' placeholder="请输入弹幕内容"></input><button>发送弹幕</button></view>.danmuArea{display: flex;flex-direction: row;}input{border :1rps solid #987938;height: 100rpx;flex-grow: 1;/*扩张多余空间*/}button{color:white;background-color: #987938;}

区域三

<view class="videoList"><view class="videoBar"><image src="/image/play.jpg"></image><text>测试第一个</text></view></view>

.videoList{width: 100%;min-height: 400rpx;}.videoBar{width:95%;display:flex;flex-direction: row;border-bottom: 1rpx solid #987938;margin:10rpx;}image{width:70rpx;height:70rpx;margin:20rpx;}text{font-size: 45rpx;color: #987938;margin:20rpx;flex-grow: 1;}

5、更新播放列表

在区域三给videoBar组件添加wx:for属性,改写为循环列表

<!--第一个区域:视频播放器--><video id='myVideo' src='{{src}}'</video><!--第二个区域:弹幕区域--><!--第三个区域:视频列表--><view class="videoList"><view class="videoBar" wx:for='{{list}}' wx:key='video{{index}}'><image src="/image/play.jpg"></image><text>{{item.title}}</text></view></view>

data: {danmuTxt:'',list: [{id: '1001',title: '杨国宜先生口述校史实录',videoUrl: 'http://arch./__local/6/CB/D1/C2DF3FC847F4CE2ABB67034C595_025F0082_ABD7AE2.mp4?e=.mp4'},{id: '1002',title: '唐成伦先生口述校史实录',videoUrl: 'http://arch./__local/E/31/EB/2F368A265E6C842BB6A63EE5F97_425ABEDD_7167F22.mp4?e=.mp4'},{id: '1003',title: '倪光明先生口述校史实录',videoUrl: 'http://arch./__local/9/DC/3B/35687573BA2145023FDAEBAFE67_AAD8D222_925F3FF.mp4?e=.mp4'},{id: '1004',title: '吴仪兴先生口述校史实录',videoUrl: 'http://arch./__local/5/DA/BD/7A27865731CF2B096E90B52_A29CB142_6525BCF.mp4?e=.mp4'}],

6、点击播放视频

区域三对videoBar组件添加data-url属性和bindtap属性

<view class="videoList"><view class="videoBar" wx:for='{{list}}' wx:key='video{{index}}' data-url="{{item.videoUrl}}" bindtap="playVideo"><image src="/image/play.jpg"></image><text>{{item.title}}</text></view></view>

onLoad(options) {this.videoCtx = wx.createVideoContext('myVideo')},

playVideo:function(e){this.videoCtx.stop()this.setData({src:e.currentTarget.dataset.url})this.videoCtx.play()},

7、发送弹幕

对区域一video组件添加enable-danmu和danmu-btn属性,用于允许发送和显示"发送弹幕"按钮

<!--第一个区域:视频播放器--><video id='myVideo' src='{{src}}' controls="true" enable-danmu danmu-btn></video><!--第二个区域:弹幕区域--><view class='danmuArea'><input type='text' placeholder="请输入弹幕内容"bindinput='getDanmu' ></input><button bindtap="sendDanmu">发送弹幕</button></view>

getDanmu:function(e){this.setData({danmuTxt:e.detail.value})},sendDanmu:function(e){let text = this.data.danmuTxtthis.videoCtx.sendDanmu({text:text,color:getRandomColor()})},

彩色弹幕

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('')}

sendDanmu:function(e){let text = this.data.danmuTxtthis.videoCtx.sendDanmu({text:text,color:getRandomColor()})},

三、程序运行结果

四、问题总结与体会

问题:function getRandomColor()要放到page的外面,在page内调用

收获:学习使用video组件实现视频列表的切换方法;掌握了视频自动播放方法,同时也学习了弹幕的发送,以及利用随机函数实现颜色的随机选择,添加了随机颜色弹幕效果。为今后的学习打下坚实的基础。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。