



全文预览已结束
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
仪器仪表与分析监测 2 0 1 2年第3期 基于嵌入式 L i n u x的数字系统设计 De s i g n o f Da t a s y s t e m B a s e d On Emb e d d e d L i n u x 薄 涛 唐山开元自 动焊接装备有限公司 河北唐山0 6 3 0 0 0 摘要 提 出了基 于嵌入式 L i n u x的音视频播放 系统设计与实现的系统方案 根据 实际需要对播放 器音视频解码库进行合理的选择 重新配置编译 L i n u x系统下通用播放器 M p la y e r 在 Q t 集成开发环境下 进行用户界面的开发 最后 将 Mp la y e r 可执行文件和 Q t 用户界面一并移植 到开发板 中 和操作 系统一 起 实现一个基 于友好用户界面的 集音乐和视频播放功能于一体的嵌入式多媒体播放 系统 关键词 嵌入式 L i n u x 音视频 播放器 Q t 中图分类号 T P 2 3 文献标识码 A 引言 嵌入式 系统是 一种 以应用为 中心 以计算机 技术为基础 软 硬件可裁剪 的设计 系统 适应 于对功能 可靠性 成本 体 积 功耗 等方面要 求较高的设计领域 随着技术 的不断发展 音 视频播放系统功能逐步完善 得到越来越多人们 的青睐 利用嵌 入式 L i n u x系统设计 音视频播 放 器 可以满足不同人群的需求 1 Mp la y e r 播放器系统的分析设计 在没有用户界面 的前提下 Mp l a y e r 可 以通过 命令行调用的方式进行音视频文件 的播放 从播 放器的整个播放流程角度 出发 可以把所要实现 的功能从结构上分解为 四大模块 音视频输入模 块 中心处理模块 解码库模块 音视频 输 出模 块 结构如图 1 所示 图1 Mp l a y e r 模块化结构框图 1 1 音视频输入模块 音视频输人模块任 务是通过在主机 串 口终端 下输人播放命令行进行 音视频文件输人操作 中 一 3 2 一 心处理模块利用该模块获得用户选择 的待播放文 件的文件路径和文件名 以及播放 音视频文件时 的播放参数 1 2 中心处理模块 中心处理模 块是整个播 放器 的核 心 它将输 入模块 输出模块和解码库模块紧密地联系在一 起 该模块完成 的工作包 括 通过输人 文件 的扩 展名和文件的头信息来判断该输入文件是否被播 放器所支持 对解码库模块 中 的所有解码器进行 注册 能够获取播放文件 的信息 能够 停止播放 文件 并做相应 的处理 能够调用解码 器对音频 采样数据进行读取 能够调 用解码器对视频 帧进 行读取等 中心处理模块在调用播放器 M p l a y e r 的 主程序来播放输入模块中提供的音视频文件前 需 要进行播放初始化操作 播放初始化流程见图 2 播放初始 化主要是检查播放器 当前是否 有文 件在播放 如果有 则调用停止播 放 函数 使 当前 文件停止播放并关 闭 已打开的解码库 同时清空 音频缓冲区 关闭对音频设备的引用 之后 可 判断是否存在 可用 的解码器 如果不存在 则结 束播放初始化 如果存在 则 再判断是否有 可用 的音频通道和视频通道 如果 有则 进行读取文件 长度 获取 比特率等一些基 本的处理 如果 没有 则结束初始化 学兔兔 w w w x u e t u t u c o m 基于嵌入式 L i n u x的数字系统设计薄涛 否 否 读取文件名 是否有可用 是l 是否有音频 通道 否 停 止播放 二二 二二 关闭解码库 二二 二 清空缓冲区 一 关闭音频 设备 是 喜 频 二 垦 通 道 L 否 叫竺 塞 图 2 播放初始化流程图 1 3 解码库模块 解码库模块 的作 用是为 中心处 理模块提供解 码器 对音频和视频 的 已压缩 数据进行 解码 该 模块采用统一 的接 口将所有解码器 的程序进行封 装 采用动态加 载的方式实现各种 数据格式 的解 码 解码库包含解码 器和分离 器 解码 器就是对 音视频数据流进行解 码 的组件 分 离器是把文件 流中的数据分离为音频数据流 和视 频数据流 的组 件 音频数据和视频 数据是分 开解码 的 所 以二 者缺一不可 J 1 4音视频输出模块 音视频输 出模 块是将通过解码 器解码之后 的 音频和视频数据送 到 L C D显示屏 扬声器 和耳机 等输出设备输 出 原始数据经过分 离器分成 了音 频数据 和视频数据 之后分别调用 音频解码器 和 视频解码器进行解码 对音频数据 就会进行重采 样 对视频数 据读取相应 的帧 逐帧解 码 最后 经过采样 的音频数据 和经过渲染覆 盖 的视频数据 会先进行音视频 同步 再分别通过 音频输 出设备 和视频输出设备输 出 因此 可 以将音 视频输 出 模块划分为音频输出和视频输出两个子部分 1 音频输出 在进行音频输 出时 首先要判断音 频输 出设 备是否已经就绪 如果没有就 绪 就不 进行音频 输出 如果已就绪 则要 检查音频缓 冲 区中是 否 有 已经经过解码的音频数据 如果没有则一直 等 待 如果有则调用函数打开音频输出设备 如果 音频输 出设 备成功被打开就会调用写人 函数把 音 频缓冲区内的数据发送到音频输出设备进行输 出 当所有数据输 出完毕后 程序将进行关 闭音频 输 出设备和清空音频缓冲区操作 2 视频输出 在进行视频 输 出时 首先 需要根据屏幕 的尺 寸构造两个 对象 一 个用于存放 当前 帧 一个 用 于旋转帧 然后 检查解 码后 的视频数据是 否 已经 准备就绪 若就绪则 要判断 当前 帧是否 可见 若 不可见则直接等待输 出下一 帧 若可见 则 获取 视频画面 的长和宽 以便来设置输 出画面的长宽 比 紧接着 检查是否设置 了帧旋转标志 若 是 就把长宽数据进行 相应的变换后再进行 处理 然 后把 待 输 出 的 区域 上 的 内容 清 空 并 在 F r a me B u ff e r 中为上面创建 的对象分配空间 最后 将准 备输出的帧发送 到上面分配好 的空 间 并输 出到 显示设备上进行显示 2 播放器用户界面设计 Q t 是一个功能全 面 跨平 台的 c 图形用 户界面应用程序框架 由挪威 T r o l l T e e h公司出品 它给开发者进行 图形用户界 面应用 程序开发提供 所需的所用功能 Q t 是完全面 向对象 的 很容易 扩展 并且允许真正地组件编程 J 2 1 用户界面的总体设计 基于用户界面 的音视频播 放器 除了能播放 音视频之外 从 用户界面外观上需 要实现 的最基 本功能就是停止 暂停 播放 静音 显示 播放 进度条 音量大小 控制条 显 示文件播放 的 当前 时间和文件总 时长 等 但从 总体上 可 以把这些 所要实现 的功能从 结构上分解为 四大模 块 音视 频输 入模 块 音 视频播 放模 块 用 户控 制模 块 音视频输出模块 其模块化结构框图如图 3所示 图 3 播放器模块化结构框 图 音视频输入模 块是响应用户通 过图形界面操 一 3 3 一 学兔兔 w w w x u e t u t u c o m 仪器仪表与分析监测 2 0 1 2年第 3期 纵的文件 打开命令 它将获得用户选择 的待播放 文件的文件路 径和文件名 之后 它将判 断所选 路径下的文件 是否成功打开 如果打开失败 则 退出重新选择 如果打开成 功 将调用音 视频播 放模块播放打开的音视频文件 音视频播放模块是调用音视频播放器 M p l a y e r 来播放用户选择 的合法文件 在这个模块里将要 实现播放器程序 的一些初始化操作 包括播放界 面比例 播放模式 播放视频时的缓冲模式等 用户控制模块是用户通过 Q t 图形界面来操作 播放器的打开 关 闭 暂停 播放 停止 快进 快退 静音等基本功能 音视频输 出模块 主要就是实现播放器播放 界 面在 L C D液晶屏上的输出显示功能 2 2 用户界面功能设计 从播发器的外观上可以看 出 本文设计的播发 器具有如下功能 文件 打开 播放 暂停 停止 快进 快退 静音启动和关闭 音量控制 进度条 控制 下面分别介绍各个功能的详细设计过程 1 音视频文件打开功能 文件打开操作是播放器文件 播放的初始化操 作 在选择要播 放 的音视频 文件前 需要 先判断 当前是否有 文件正在播 放 如果有 则 需要先调 用停止功能程序使 当前文件停止 播放 如果没有 就可以进行音视频文件 的选择 2 播放功能 播放功能在调用播放程序进行音视频播放前 需要对界 面的播放 进度条 音量控制条 的位 置及 时间显示文本框 的显示时间进行初始化 还要 对 播发 器各 功能按 钮 如 播 放 暂停 静音 等 等进行状态使 能的初始化操作 另外 还需 要设 置播放器在播 放音视频时 的后 台模式 播 放 比例 及指定视频缓冲模式等参数 3 时间格式转换功能 时间格式转换功能实现 由播 放器程序获得 的 时间总秒 数 到标 准 的 时分 秒格 式 即 h h m m S S 的转换 4 播放和暂停功能 播放和暂停功能的实现通过播放标志 i s P l a y 来 判断 当 i s P l a y为 1时表示正在播放文件 所 以按 下该按钮时需要 向播放器程序写入 p a u s e 命令使其 一 3 4 一 暂停播放 同时 i s P l a y 置 0 而当 i s P l a y为 0时表 示播放文件处 于暂停状 态 所以按下该按钮时需 要向播放器程序写入 p a u s e 命令使其由暂停状态变 为播放状态 同时 i s P l a y置 1 5 停止功能 停止功能是通 过停止计时器后 向播放程序输 入命令 q 和换行符 n实现的 6 快进和快退功能 在文件播放 的过程 中 如果 用户按下快进或 者快退按钮 系统都会做 出相应的功能 响应 当 按下快进按钮时 系统就会 以当前 时间为参 考计 算到文件结 尾的时间 间隔 即剩余时 问秒 数 如 果剩余时间秒数大于 1 0 s 则系统使播放进度条向 后移动 1 0 s 的距离 显示 的时间也进行加十显示 相应 的 播放器从 1 0 s 后的位置进行播放 如果剩 余时间秒数小于或等于 1 0 s 则播放器直接停止播 放 然后退出 7 静音开启和关闭功能 静音开启 和关 闭功能 的实现方法类似 于播放 和暂停功能 实现方法 通 过标志 i s Mu t e的值来 进 行状态切换 当 i s Mu t e为 1时表示 当前 是静音状 态 所以按 下 该 按钮 时需 要 向播 放 器程 序 写 入 m u t e 0 命令使其关闭静音 同时 i s M u t e置 0 而 当 i s M u t e为 0时表示当前不是静音状态 所以按下 该按钮时需要向播放器程序写入 m u t e 1 命令使 其静音状态由关闭变为开启 同时 i s M u t e置 1 8 音量控制功能 音量控制首先要计算 移动音量控制条之后 的 音量值所 占最大音量 的百分 比 然后 向播放器进 程写入这个百分 比 之后 音量被设 置为相应 的音 量值大小 同时还需要 重新设置静音按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代林业造林方法及营林生产管理问题探寻
- 老年人护理中心
- 交通运输采购法务支持与合同违约责任明确合同
- 车辆租赁行业风险评估承包合同
- 高科技园区厂房场地租赁合同范本
- 槽棎施工与地基处理合同
- 矿山采矿权抵押贷款与矿山运营管理服务合同
- 叉车操作员健康管理与劳动合同
- 商业店铺租赁合同含装修补贴
- 特色餐饮店铺租赁与装修合同
- 筛网维护使用管理制度
- 专科护士基地管理制度
- 2025年福建省中考历史试卷真题(含标准答案)
- 二年级下二升三数学暑假作业(人教)
- 2025年6月15日青海省事业单位面试真题及答案解析
- 三级医院评审标准(2025年版)
- 安全文明标准化施工方案
- 单体药店GSP质量管理制度
- (2025)“安全生产月”安全生产知识竞赛试题库(答案)
- 2025春季学期国开电大专科《管理学基础》一平台在线形考(形考任务一至四)试题及答案
- 变更抚养权协议书
评论
0/150
提交评论