菜单
  

    2.4 音频CD
        CD是目前正在被广泛使用的一种高效信息存储系统,它从最初起步到逐步成熟大约经历了十年左右的时间,期间涌现出来的行业标准和技术规范非常多,而影响最大的当数由Philips和Sony公司共同推出的CD音频(CD-Audio)和CD数字音频(CD-DA)规范,这就是人们经常提到的红皮书,它被包含在IEC 908标准中。
    音频CD有足够的能力来提供高保真的声音,它的采样频率为44.1kHz,并且每个采样点都使用16 bit的量化级,这样CD播放器在输出音频数据时的速率将高达1.4 Mbps[7]。除了最重要的音频数据之外,为了进行必要的纠错、同步或者调制,还需要在CD上存储其它一些额外数据,因此存储在光盘上的数据通常是原来的3倍左右,也就是说信道比特率(从CD中读出数据的速率)可能会达到4.3128 Mbps。
    精密的光学设计和高效的数据编码,是CD具有很高存储密度的原因所在,而要想在Linux应用程序中对音频CD进行控制,关键是要理解音频数据在光盘上的编码方法和存储形式。音频CD采用EFM调制来对要存储的数据进行编码,虽然在调制过程中会产生需要额外存储的信道比特,但总的效果却可以使音频CD的容量提高25%左右。帧(frame)是在音频CD上可以读取的最小单位,它详细规定了音频数据、校验位、同步位、子码等是如何在光盘上存储的,如图1所示:
      图1 CD的帧格式
    音频CD上的每帧数据中都包含一个8 bit的子码,其中包含的信息有音轨的起止位置、音轨数目、光盘时钟、索引位置等[8],如果能够在程序中充分地利用它们,无疑将会更好地控制音频CD的播放。

    2.5 设备控制之ioctl系统调用
        Linux内核将所有的硬件设备都表示成设备文件,并且提供与操作磁盘文件类似的方法来操作硬件设备[9],应用程序如果想对CD驱动器进行控制,最直接的办法是用open()、read()、close()等系统调用来操作/dev/cdrom这一设备文件。例如,下面的命令可以读取CD上的原始数据流,并将其在终端上显示出来:
    cat /dev/cdrom;
    在Linux上进行CD编程的原理其实非常简单,关键是要借助系统调用ioctl()[10-14]来对设备文件/dev/cdrom进行各种控制。对控制CD的ioctl命令的一般参数如下表1所示:
    表1 控制CD的ioctl命令
    名称    参数    作用
    CDROMEJECT    无    退出驱动器中的光盘
    CDROMEJECT_SW    0或1    控制是否自动退出光盘
    CDROMSTART    无    启动CD驱动器的马达
    CDROMPLAYTRKIND    Struct cdrom_ti    播放指定的音轨
    CDROMPLAYMSF    Struct cdrom_msf    播放指定的MSF
    CDROMSTOP    无    停止播放
    CDROMPAUSE    无    暂停播放
    CDROMRESUME    无    继续播放
    CDROMVOLCTRL    Struct cdrom_volctrl    设置音量
    CDROMVOLREAD    Struct cdrom_volctrl    获取当前音量
    CDROMREADTOCHDR    Struct cdrom_tochdr    读取TOC头部
    CDROMREADTOCENTRY    Struct cdrom_tocentry    读取TOC条目
    CDROMSUBCHNL    Struct cdrom_subchnl    读取子通道数据
    CDROMREADMODAL1    Struct cdrom_read    读取模式1数据
    CDROMREADMODAL2    Struct cdrom_read    读取模式2数据
    CDROMREADAUDIO    Struct cdrom_read_audio    读取数字音频数据
  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

关闭返回