菜单
  

    CDROMMULTISESSION    Struct cdrom_multisession    读取混合型光盘的数据
    CDROMRESET    无    重置CD驱动器
    CDROM_GET_UPC    无    获得CD的唯一代码
    CDROMAUDIOBUFSIZ    int    设置音频缓冲区的大小

    作为应用程序和设备驱动之间的接口,ioctl()负责将用户请求转换成对硬件设备的操作,它在调用时需要指定三个参数。第一个参数是要对其进行操作的设备描述符;第二个参数是一个整型的数值,它可以用来指定将对硬件进行何种请求;第三个参数是可选的,通常情况下是一个void型的指针,其主要作用是在应用程序和设备驱动之间交换一定数量的信息,具体到CD驱动器来讲一般是指向某个特定结构的指针,这些结构的具体定义可以在<linux/cdrom.h>中找到。
    3 编译环境的搭建和检测
    安装好的系统中已经有GCC,因此不需要对GCC的问题进行过多的关心。同时系统对设备的控制也在系统安装时自动弄好了,因此搭建环境任务主要是Qt的安装与设置以及光驱是否能够正常工作。
    3.1 Qt的安装与测试
        Qt的安装有在线安装和离线安装两种方式。这里选择的是离线安装。具体的操作就是先下载好Qt_SDK_Lin32_offline_v1_2_en.run离线包,然后进入虚拟终端进入离线包所放置的位置,运行安装命令:
        ./ Qt_SDK_Lin32_offline_v1_2_en.run
    安装完成后提示没有编译桌面软件的工具链,此时需要手动设置工具链如图2。

    图2 Qt工具链的手动设置
    图上的工具链即为GCC,这也意着Linux中Qt下的编译是通过GCC进行编译的。
    至此,Qt的设置基本就绪。创建一个测试程序来验证是否是正确的。
    新建一个工程,选择Widget作为主窗口,在窗口中加入一个Label控件,设置Label的text属性为“Hello Qt!”,编译运行出现结果图3:

    图3 测试结果
    出现上述结果说明配置正确,Qt能够正常的工作。
    3.2 光驱的测试
        因为编写的是对CD的播放的程序,因此依赖于光驱的好坏,如果光驱不好,即使编写出来的程序是可运行的,也无法进行验证。因此对光驱好坏的验证是必要的。如果光驱坏了,就需要更换光驱再验证,直到确认光驱是好的为止。
        对光驱的检验其实非常简单,只需要一个光驱可支持的CD盘,插入光驱,然后对光驱进行挂载,挂载后,如果查看挂载文件上的内容能够显示出来,就说明光驱是好的,否则就是坏的。测试结果如图4所示
    图4 光驱的测试
    出现这个结果说明PC机上的光驱是好的,并且显示该音频CD上有11首歌曲,也就是说有11个具有有效数据信息的音轨。实际上音频CD还有一个空白音轨,大约2秒钟,该空白音轨虽然没有数据,但对音频CD的控制等却有很重要的作用。


    4 程序的设计
    4.1 程序设计目标
         程序设计的目标是:使用Qt和设备控制中的ioctl系统调用实现对插入光驱的音频CD进行播放及其他控制以及读取其中的信息。
    具体目标如下:
    1)    在音频CD插入光驱并挂载(mount)后,打开光驱设备文件
    2)    对CD进行播放,在播放的过程中,可以暂停或停止。
    3)    播放状态为暂停时能够从暂停处恢复播放,或者直接停止
    4)    在播放过程中,再次按播放时,CD从头开始播放
    5)    实现上一曲,下一曲
    6)    歌曲播放时实时动态的显示播放时间
  1. 上一篇:智能交互式指法练习系统的设计和开发
  2. 下一篇:智能手机电影订票系统网站设计
  1. Hadoop云计算环境下的Web应用日志安全威胁分析

  2. 云虚拟环境下资源分配优化算法的研究

  3. 网络环境下电子报纸开发利用现状及模式研究

  4. 网络外部性下电子商务网...

  5. Android平台下电话区号查询系统的实现

  6. C#+SQLserver农业环境信息管理系统设计与实现

  7. Linux环境下远程管理平台基础程序设计与实现

  8. 当代大学生慈善意识研究+文献综述

  9. 杂拟谷盗体内共生菌沃尔...

  10. 电站锅炉暖风器设计任务书

  11. 乳业同业并购式全产业链...

  12. 十二层带中心支撑钢结构...

  13. 河岸冲刷和泥沙淤积的监测国内外研究现状

  14. 中考体育项目与体育教学合理结合的研究

  15. 大众媒体对公共政策制定的影响

  16. java+mysql车辆管理系统的设计+源代码

  17. 酸性水汽提装置总汽提塔设计+CAD图纸

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回