问题标签 [cdda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
242 浏览

java - 用于创建音频 CD 磁盘映像的 Java 库

有谁知道包含用于创建音频 CD 磁盘映像的代码的库或开源项目?

0 投票
0 回答
205 浏览

cd-burning - 检测刻录为 CDDA 的原始刻录数据的格式

给定一个包含刻录到 CD/DVD 的原始数据的文件,我试图找出使用了哪种格式(即 ISO、UDF 等)。

例如,我可以检测到 ISO9660 格式,因为在 2048 字节扇区之一的开头我可以找到字符串“CD001”。

但是,当涉及到 CDDA(红皮书)数据时,似乎要困难得多。我尝试寻找同步字节,但到目前为止还不是很幸运。这种情况下的另一个复杂情况是每个轨道都被写入另一个文件。例如,在 ISO 的情况下,一切都在一个轨道上;在音频的情况下,我为每个音轨获得了一个单独的文件。

我知道这种格式被许多公司滥用,所以我只是在寻找一个很好的检测方法。

具体情况是检测由 Windows Media Player 创建的音频 CD(CDDA 格式)。

有什么建议么?

0 投票
1 回答
168 浏览

winapi - 如何使用 DeviceIOControl() 从 CD 中获取“曲目信息”?

我正在尝试将 DeviceIoControl() 与 SCSI_PASS_THROUGH_DIRECT 一起使用,以获取 TRACK_INFO。

此代码“有效”,但通过将 ScsiStatus 设置为 2 来返回。
关于“跟踪”数据字段的大小似乎存在冲突的文档。mmc 文档说它有 1 位长,但是,在网上我发现它有 2 位长的参考资料。

但是,无论哪种方式,它都失败了。

我绞尽脑汁一整天,我什么都没有。有人明白吗?

0 投票
1 回答
40 浏览

c++ - 如何将 cdparanoia 读取的 CD 音频数据交给 ALSA 播放器?

cd_paranoia我正在尝试使用(从包中)播放音频 CD,cdio并将读取的数据移交给 ALSA 声音输出。当然是缓冲的。我现在的问题如下:如本示例程序中所述,调用paranoia_read ()返回int16_t*包含一个扇区(2,352 字节)的音频数据,然后可以将其转换为char*.

snd_pcm_writei ()另一方面,ALSA方法需要 a 中的一大块音频数据char*,其长度将通过使用该snd_pcm_hw_params_get_period_size ()方法确定,该方法基本上返回发送到声音设备的字节数,直到它触发中断。还出售此示例源代码

这两种方法几乎肯定会返回不同的值,因为 ALSA 帧的大小与 CD 扇区的大小不同。这意味着我必须以cd-paranoia某种方式划分数据,以便它们适合 ALSA 的框架结构。或者将 CD 音频数据流式传输到一个大字节数组std::queue<char>

有什么提示吗?谢谢你。