首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有什么办法可以标记一个.wav文件并将时间写入其中?

有没有什么办法可以标记一个.wav文件并将时间写入其中?
EN

Stack Overflow用户
提问于 2011-02-21 23:23:09
回答 4查看 1.7K关注 0票数 2

我想在我的每个.wav文件中添加一个时间标签。此标记将显示文件的启动时间,如果可能,还会显示结束时间。时间可以相对于unix纪元。我该如何着手做这件事,或者甚至是可以做到的?

谢谢

-Josh

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-21 23:44:41

WAV文件支持有限的、基于文本的标记,这可能适合您。您可以在INFO块( http://en.wikipedia.org/wiki/Resource_Interchange_File_Format#Use_of_the_INFO_chunk)中指定用户定义的字段,这可能适合您的需要,但没有比在MP3中使用ID3标记或在FLAC中使用Vorbis注释更简单的方法了。

我不知道有什么库可以让这项工作变得更容易,因为我不使用WAV,但也许libsndfile可以为您工作,或者您可以通过将文件读入字节流,然后使用规范中的信息自己处理头文件来操作头文件:http://www.sonicspot.com/guide/wavefiles.html#wavefileheader

否则,为了简单起见,您可能需要将WAV文件代码转换为FLAC,然后将字段写入FLAC标签:完整的FLAC C和C++应用编程接口文档,请访问:http://flac.sourceforge.net/api/index.html

票数 3
EN

Stack Overflow用户

发布于 2011-02-21 23:38:32

来自http://www.wotsit.org/download.asp?f=wave&sc=351595652

波形文件是许多不同类型的块的集合。..。在其他可选块中,有定义提示点、列出仪器参数、存储特定于应用程序的信息等的块。

您可以为您的信息添加自己的块,但只有您的工具才能读写它。您可能会发现与其他软件的互操作性问题,这些软件不能正确忽略未知的块,或者选择与块相同的ID。块ID是4个字节,所以在实践中应该有足够的空间来避免这个问题,即使在最严格的意义上解释上面的文档("4个ASCII字节“) ("4字节的可打印ASCII字符”)。

相反,您可以在wave文件旁边保留一个单独的文件,其中包含您的信息。不会有互操作性问题,但用户需要将文件保存在一起。

票数 3
EN

Stack Overflow用户

发布于 2011-02-21 23:37:09

我不确定是否有通用的方法(就像jpeg中的exif标签),但是如果其他方法都失败了,你可以尝试使用http://en.wikipedia.org/wiki/Steganography

这是一种将消息编码成文件的方法,特别是图片和音频文件,只对内容进行细微的修改。但我不知道将该消息编码/解码到一个文件中需要多少efford。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5067721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档