获取 .ogg 音频剪辑持续时间

Getting .ogg audio clip duration

我在 C++ 中使用 stb_vorbis.c 到 load/decode .ogg 音频文件。如何以秒为单位获取剪辑的持续时间?

你可以使用 libsndfile http://www.mega-nerd.com/libsndfile/ http://www.mega-nerd.com/libsndfile/api.html

易于使用且示例简单。你应该用这个命令打开你的文件 SNDFILE* sf_open (const char *path, int mode, SF_INFO *sfinfo) ; 然后使用此变量 sfinfo 您可以使用

计算持续时间

sfinfo-> samplerate 和 sfinfo->sf_count_t

您可以使用 stb_vorbis_stream_length_in_seconds 函数,它将 stb_vorbis_open_file 调用的结果作为参数。 这是如何使用它的example