打开Ogg Vorbis文件的标准方法是使用ov_fopen
或ov_open
。但是,如果文件路径包含非ASCII字符,则这两个功能都无法在Windows上运行。
在这种情况下,可以包装现有的upstream/project
(或其他输入流)并通过std::ifstream
打开它。尝试执行此操作时,我发现the documentation对于所需包装函数的确切语义有些粗略。
如何包装现有流以将其传递到ov_open_callbacks
?
答案 0 :(得分:1)
这是一个工作示例,该示例打开一个.ogg文件并打印出一些基本信息。所有包装函数(除了ov_open_callbacks
,在这种情况下都不需要)都已实现,因此生成的close
结构是完全可检索的。
OggVorbis_File