10. 视频模块(一)之视频列表

上一节对欢迎模块进行了综述(可参见 8. 视频模块 进行了解),接下来将从视频模块开始详细介绍:

知识点

  • 掌握“视频列表”界面的开发
  • 实现下拉刷新功能

主要功能:

  • 展示各学科经典视频,点击条目中的视频会进入对应的“视频”详情界面;
  • 在该节目可以播放视频、展示视频简介与视频目录;
  • 调整播放画面的尺寸和视频清晰度等。

视频列表

任务综述:
“视频列表”界面主要展示各学科的视频信息,该列表的数据从Tomcat服务器上获取,然后经过JSON解析把数据显示到“视频列表”界面上。

1. “视频列表”界面

任务分析:
“视频列表”界面主要用于展示各学科的视频信息,“视频列表”界面的效果如图所示。

10186693-c09a8cac99805ca1.png
“视频列表”界面

任务实施:
(1)创建“视频列表”界面:fragment_video.xml。

(2)放置界面控件。在布局文件中,放置一个PullToRefreshView控件用于显示下拉刷新,一个WrapRecyclerView控件用于加载视频列表信息。

fragment_video.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <com.itheima.PullToRefreshView
        android:id="@+id/pull_to_refresh"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#f6f6f6">
        <com.itheima.topline.view.WrapRecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:divider="@null"
            android:dividerHeight="0dp"
            android:fadingEdge="none" />
    </com.itheima.PullToRefreshView>
</LinearLayout>

2. “视频列表”界面Item

任务分析:
由于“视频列表”界面用到了WrapRecyclerView控件,因此需要为该控件创建一个Item界面,界面效果如图所示。

10186693-e23196267bb29f6e.png
“视频列表”界面Item

任务实施
(1)创建“视频列表”界面Item:video_list_item.xml。

(2)导入界面图片(1个,media_play_icon.png)。

(3)放置界面控件。
2个ImageView控件分别用于显示视频图片和视频播放图标。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要循环播放多个视频和音频文件,你可以使用 Pygame 的 `pygame.mixer.music` 模块来播放音频,使用 `moviepy` 库来读取和播放视频文件。以下是一个示例代码: ```python import os import pygame from moviepy.editor import VideoFileClip pygame.init() # 打开 Pygame 窗口 screen = pygame.display.set_mode((640, 480)) # 设置视频文件和音频文件列表 video_files = ['test1.mp4', 'test2.mp4', 'test3.mp4'] audio_files = ['audio1.mp3', 'audio2.mp3', 'audio3.mp3'] # 循环播放视频和音频 i = 0 while True: # 打开视频文件和音频文件 video_file = os.path.join('videos', video_files[i]) audio_file = os.path.join('audios', audio_files[i]) clip = VideoFileClip(video_file) pygame.mixer.music.load(audio_file) # 在 Pygame 中播放视频 clip.preview() # 播放完毕后,释放资源并播放下一个视频和音频 clip.close() pygame.mixer.music.stop() i = (i + 1) % len(video_files) # 释放 Pygame 资源 pygame.quit() ``` 在这个示例代码中,我们使用 `os` 模块列表来存储视频文件和音频文件的路径。然后,使用一个循环来播放每个视频和音频。在循环中,首先打开当前视频文件和音频文件,然后使用 `moviepy` 库的 `preview()` 方法在 Pygame 中播放视频。播放完毕后,关闭视频剪辑并停止音频播放。最后,使用模运算(`%`)循环播放视频和音频列表中的文件。 请注意,在这个示例代码中,我们假设视频和音频文件都位于 `videos` 和 `audios` 子目录中。如果你的文件路径不同,需要相应地修改代码。另外,你也可以使用其他方式来控制视频和音频的播放顺序和循环,例如使用列表索引或者使用 `random` 模块来随机选择文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值