7个版本
新版本 0.1.0 | 2024年8月19日 |
---|---|
0.0.6 | 2024年7月24日 |
0.0.4 | 2024年6月9日 |
0.0.3 | 2024年5月28日 |
#370 在 音频
每月 218 次下载
30KB
662 行
读取和写入WAV cue点和元数据的结构和例程
主要用于操作Quake声音效果循环,此库可以读取和写入WAV "cue" 块以及存储在 "LIST" 块中的相关数据。这是一个低级库,因为它要求用户确保使用此库创建的WAV文件与使用这些文件的软件的要求兼容。
变更日志
0.1.0:
- 首次公开发布
- 将公共常量改为crate私有(消费者不应需要)
许可证
MIT / Apache 2.0 / CC0三重许可(您可选择)
lib.rs
:
从现有WAV文件中读取和写入cue点和cue元数据的结构和例程。
读取数据的常规流程是创建一个包裹指向WAV文件起始位置的游标的 ChunkReader
(实现Read + Seek)。块作为字节数组读取;标记为 "cue" 的块可以用 parse_cue_points
解析,而标记为 "LIST" 的块可以用 extract_labeled_text_from_list
处理。在从读者恢复游标后,可以通过您选择的另一个库执行WAV样本数据的后续处理。
写入数据的常规流程是创建一个指向WAV文件起始位置的 ChunkWriter
(实现Read + Seek + Write)。为了写入有效的WAV文件,现有的WAV文件应该包含正确的顺序的 "fmt" 和 "data" 块。不推荐用于大型存档中的WAV文件,因为预期数据将被追加到文件末尾,从而导致覆盖存档条目或损坏存档。通过创建 CuePoint
和 LabeledText
实例并提供给写入器的append方法来提供块。
注意
这个库是基于不完整的文档(例如,关于在提示点中引用的偏移量是以样本、帧还是字节给出,似乎没有共识)开发的,主要用于与Quake和Quake源端口配合使用,用于循环声音效果。不能保证此库生成的文件适用于任何其他软件,也不能保证任何生成的文件适用于Quake及其所有派生的源端口。