• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于教学终端实现传统广播系统的互动点歌技术方案

    时间:2023-07-02 09:35:03 来源:雅意学习网 本文已影响 雅意学习网手机站

    [谭禹舟]

    校园广播是每所学校不可缺少的基础设施之一,通常由学校职工或学生广播站负责管理和运营,做为学校师生获取信息和通知的重要渠道,主要用于多种活动,如播报新闻、发布通知、升国旗、课间操等;
    同时,校园广播还可以播放音乐、广播节目等,为学生们提供学习之余的娱乐和休闲。

    目前传统的校园广播系统通常由管理人员手动操控广播系统的方式播放固定的音乐,操作繁琐,容易出现误时误点的播放。本文以广州外国语学校广播系统为开发对象,基于原生的HTML+CSS+JS,将安装学生平板或电脑上的数字化教学系统、校园广播系统以及互联网的第三方音乐平台集成,搭建用户互动的线上点歌台,使得同学们通过学习平板、电脑等设备进行热门歌曲搜索和歌曲提名,点歌台根据歌曲提名排行榜的情况定时通过校园广播系统播放歌曲,一方面减少了广播系统的日常人工介入的操作运维,同时使点歌管理系统化、自动化和互动化,也使同学们紧张学习之余的娱乐活动变得更加丰富多彩。

    通常校园广播台播放是由学校广播站管理人员选择具体内容播放,通过人工控制音乐或歌曲的播放次序和时间,播放内容相对固定和有限,而本方案中线上点歌台通过使用RESTful API 技术,实现了学生使用在学校数字化教学系统终端上开发的前端应用,连接互联网第三方音乐平台,挑选感兴趣或者热门的歌曲进行试听和点歌提名。线上点歌台通过对提名的音乐和歌曲建立排行榜,对排行榜中的音乐和歌曲按点歌量等算法选择排序,在预设规定的时间段内自动通过校园广播系统进行播放,满足学生对歌曲选择多样化和互动化的需求。

    3.1 总体架构

    点歌台总共由六部分组成,包括线上点歌网页前端,线上点歌数据中心,学校数字化教学系统,校园广播控制台,校园广播服务器以及第三方音乐平台,如图1 所示。

    图1 线上点歌台总体架构示意图

    线上点歌网页前端主要实现面向学生及管理人员的服务开放;
    线上点歌数据中心主要向点歌前端及控制台提供数据库服务;
    学校数字化教学系统主要实现为点歌网页开通入口,提供学生用户信息开放能力;
    校园广播控制台主要实现动态配置更新及并定时控制能力;
    校园广播服务器主要提供音频播放能力;
    第三方音乐平台主要提供音乐搜索及文件下载能力。

    3.2 功能模块

    (1)线上点歌网页前端:采用HTML5 技术,主要包括供学生使用的点歌活动页面和供校园广播系统管理人员使用的管理页面。点歌活动页面分为三大板块,分别为音乐提名板块、提名排行榜板块和历史提名板块。管理页面分为三大板块,分别为广播任务管理板块、点歌排期管理板块和点歌提名审核板块,如图2 所示。

    图2 线上点歌网页前端内容

    用户交互活动页面是通过iframe嵌入至学校数字化教学系统内,使用纯原生HTML+CSS+JS 搭建网页,通过XMLHTTPREQUEST 实现RESTful API 接口。

    (2)线上点歌数据中心:数据中心部署在阿里云服务器上,主要包括网页后端、控制台配置管理、周期性自动化排行榜结果排期。使用WAMP(Windows+Apache+MySQL+PHP)。控制台配置管理负责通知校园控制台当天的播放内容、音频文件数据。

    (3)学校数字化教学系统:装载在学生平板电脑上的学校数字化教学系统,通过WebView 向学生提供点歌页面入口,使学生能够在学习平板电脑上访问线上点歌网页,并通过JSBridge 打通网页前端获取学生信息的接口。

    (4)校园广播后台:主要实现动态从线上点歌数据中心获取当天广播任务,并通过学校广播系统服务开放能力,定时控制学校广播服务器播放音频文件。

    广播控制:由于因历史原因校内共设有两套广播控制系统,一套负责校园一期工程建筑内的旧广播终端,另一套负责二期工程建筑内的新广播终端,需采用不同技术对接后再实现对两套系统的同步控制。

    根据调研,一期工程的广播系统提供一套基于Java的广播控制程序,在使用JADX 对其jar 软件包进行逆向工程分析后,得知其使用java.io.net 和序列化传输实现TCP 控制协议和UDP 音频流式传输协议,故依照其代码重写一个支持命令行执行播放控制的Java程序,以备后期调用。

    二期工程的广播系统并未提供客户端,而是转而使用网页端进行控制,在使用Fiddler 抓取到后端RESTful API接口后,使用Python 的requests 库重新封装,同时编写一个支持命令行执行上传音频文件、播放控制的Python 程序。

    通过Python 实现配置更新获取,同时调用ffmpeg 对音频文件进行码率压缩、响度均衡处理;
    使用Windows 任务计划及批处理实现定时执行广播任务。

    (5)校园广播服务器:主要提供音频播放开放能力。

    (6)第三方音乐平台:提供音乐搜索及文件下载开放能力。

    4.1 点歌台主界面

    用户在领启公司开发的学生平板领启系统上点击进入活动页面入口,WebView 加载文章详情页,请求学生平板从领启系统的后端获取文章数据,领启系统后端返回带有XSS 注入代码的文章数据,领启系统前端开始渲染文章内容并注入JS 代码生效,清空HTML body 内容,插入iFrame 元素,WebView 加载活动页面,活动页面触发onLoad 事件,开始页面初始化,请求领启系统后端检查登录态,领启系统后端返回用户信息,如果未登录或登录态失效返回403,活动页面请求领启系统后端获取领启课表,后端再返回课表数据,如果未登录或登录态失效返回403,活动页面使用localStorage存储课表数据,执行intro动画,最后WebView 进入活动页面,展示给用户交互,如图3 所示。

    图3 用户进入活动页面的流程

    4.2 音乐提名

    用户通过WebView 点击“我要提名”卡片进入活动页面,在活动页面中触发click 事件,进入提名页面。提名页面会触发onLoad 事件,进行内部初始化并获取点歌时间段,然后解析任务列表并插入下拉框,等待用户选择。用户输入歌曲关键词搜索后,会触发输入框input、compositionstart、compositionend事件,系统会将搜索关键词和平台ID 传入阿里云后端,请求音乐平台接口,获取搜索结果,并格式化数据展示在WebView 上。用户选择搜索结果项后,音乐会播放。最后,用户双重确认提交后,系统会将数据PUT 到阿里云后端。阿里云后端会根据用户ID、当前周期时间段、提名状态为正在审核或已通过审核,检索该用户提名记录数量,并判断是否超过当前周期可提名次数。如果没有超过,则会插入提名数据到MySQL 中。返回执行结果后,WebView 会检查执行结果,如果成功,则跳回主界面,返回给用户,如图4 所示。

    图4 用户点歌交互流程

    4.3 提名排行榜

    用户进入WebView,点击“歌曲榜单”卡片,触发click 事件进入活动页面。在活动页面内部初始化,获取点歌时间段,解析任务列表并插入选项卡至页面,默认选择第一个任务。当用户划到页面最底部时,触发Intersection-Observer加载提名榜单。当用户点击试听时,触发click 事件,音乐播放。用户点击投票时,触发click 事件,活动页面检查是否已试听,确认操作不可逆。当用户二次确认后,活动页面传入提名ID,PUT 投票请求,阿里云后端插入投票数据至MySQL 并返回执行结果。活动页面解析执行结果,并显示结果弹窗、更新排行榜,最后WebView 展 示更新后的排行榜给用户,如图5所示。

    图5 提名排行榜交互流程

    4.4 获取点歌时间段

    活动页面向阿里云后端发送GET 请求,获取可点歌时间段。阿里云后端通过MySQL 检索所有类型为“点歌”的任务,并返回检索结果给阿里云后端。最后,阿里云后端将支持点歌时段的任务ID 返回给活动页面。

    4.5 加载提名榜单

    活动页面向阿里云后端发送GET 请求,传入任务ID和分页,获取排行榜数据。阿里云后端使用MySQL 根据任务ID 和当前周期的开始结束时间检索排行榜数据,并返回检索结果的最新十条数据。阿里云后端将检索结果返回给活动页面,活动页面使用WebView 解析列表并插入提名卡片,如图6 所示。

    图6 提名歌曲审核页面

    4.6 音乐播放

    WebView 调用loadPlayer 函数,根据localStorage 数据判断是否属于上课时间,如果是,弹出提示文案,活动页面向阿里云后端传入平台ID 和音乐ID 并发起GET 请求获取音频链接,阿里云后端向音乐平台接口请求播放链接,音乐平台接口返回播放链接,阿里云后端格式化数据并返回给活动页面,活动页面将数据传给WebView,WebView 设置audio 元素的src 值,开始缓冲音频,最后播放音乐,如图7 所示。

    图7 点歌计划安排页面

    通过在学校内教学系统与互联网系统的连通,改变传统广播歌曲播放模式,需要将教学系统、广播系统、第三方音乐平台集成搭建校园线上点歌台。在此基础上才能实现用户在学校数字化教学系统终端上挑选歌曲、点歌提名、展现点歌台排行榜和校园广播定时播放的互动模式,增加了广播系统播放内容的新颖、热门内容,提高同学们互动参与度,也能反映同学们对校园生活的热爱。

    猜你喜欢点歌广播系统教学系统点歌故事会(2022年9期)2022-05-06基于Unity的计算机硬件组装仿真教学系统设计辽宁师专学报(自然科学版)(2021年1期)2021-07-21基于移动学习理念的智慧教学系统计算机教育(2020年5期)2020-07-24点歌意林(2020年11期)2020-07-03为父母点歌慈善(2018年2期)2018-02-20浅析语音广播系统在高速公路中的应用和发展中国交通信息化(2017年7期)2017-06-06基于交互式双板教学系统的高中地理教学研究中国教育技术装备(2016年11期)2016-12-01应急广播系统中副载波的构建与应用西部广播电视(2015年10期)2016-01-18汽车配件营销实践教学系统开发无锡商业职业技术学院学报(2015年1期)2015-12-22粤赣高速公路对讲与广播系统改造中国交通信息化(2015年9期)2015-06-06

    推荐访问:互动 终端 点歌

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章