gpt4 book ai didi

java - 如何确定OGG文件的长度

转载 作者:行者123 更新时间:2023-12-01 14:07:32 30 4
gpt4 key购买 nike

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

最佳答案

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

如果你在阅读 Ogg 页头方面需要帮助,你可以阅读 Jorbis 源代码......简短版本是寻找“OggS”,读取一个字节(应该是 0),读取一个字节(只有第 3 位应该是设置),然后读取 64 位小端值。

关于java - 如何确定OGG文件的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794204/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com