如何确定OGG文件的长度

窒息

我正在制作节奏游戏,我需要一种快速的方法来获取ogg文件的长度。我能想到的唯一方法是在不播放文件的情况下真正快速地传输文件,但是如果我有数百首歌曲,这显然是不现实的。另一种方法是将文件的长度存储在某种属性文件中,但我想避免这种情况。我知道一定有某种方法可以做到这一点,因为大多数音乐播放器可以告诉您一首歌曲的长度。

ioctlLR

最快的方法是查找文件的末尾,然后返回找到的最后一个Ogg页面标题并读取其granulePosition(文件中每个通道的样本总数)。这不是万无一失的(您可能正在查看一个链接的文件,在这种情况下,您只会得到最后一个流的长度),但是应该可以用于绝大多数Ogg文件。

如果您需要有关读取Ogg页面标题的帮助,则可以阅读Jorbis源代码...简短版本是查找“ OggS”,读取一个字节(应为0),读取一个字节(仅应将bit 3设为设置),然后读取64位Little Endian值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定Python中压缩文件的内容长度?

来自分类Dev

在Bash中如何确定文件名的长度?

来自分类Dev

如何确定IntegerField或AutoField的长度?

来自分类Dev

如何解码Ogg vorbis文件Java?

来自分类Dev

如何使用IGraphBuilder播放Ogg Vorbis文件

来自分类Dev

如何获得文件长度?

来自分类Dev

如何从地图的值集中确定最大长度?

来自分类Dev

如何确定文件编码?

来自分类Dev

如何确定文件编码?

来自分类Dev

如何根据列索引列表从pyspark中的csv文件中选择某些列,然后确定它们的不同长度

来自分类Dev

用tellg()确定文件的长度,最终结果为-1

来自分类Dev

如何使用ffmpeg编码ogg音频文件?

来自分类Dev

如何从浏览器下载.ogg,.wav等文件?

来自分类Dev

如何确定文件的MIME类型?

来自分类Dev

如何确定文件的MIME类型?

来自分类Dev

如何确定文件的原始位置?

来自分类Dev

如何从Windows确定文件系统?

来自分类Dev

如何确定* nix文件的权限?

来自分类Dev

如何从DVTSourceTextView确定文件URL

来自分类Dev

如何确定uint8_t的数组长度?

来自分类Dev

如何确定数组中占用空间的长度

来自分类Dev

如何确定Vorbis流的长度(以秒为单位)?

来自分类Dev

如何在VBA中确定数组的长度

来自分类Dev

如何确定一个sql函数输入的长度

来自分类Dev

确定长度差异

来自分类Dev

确定Nvarchar长度

来自分类Dev

确定MultiIndex的游程长度

来自分类Dev

确定长度方差

来自分类Dev

确定输入的 getElementById 长度