问题标签 [oggvorbis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
146 浏览

audio - vorbis_analysis 生成访问冲突

我正在尝试创建一个 .ogg 文件,但即使提供的示例代码在调用vorbis_analysis().

我正在使用此编码示例的简化版本。我已经按原样尝试了完整的示例,但我在同一个地方遇到了同样的错误。

下面的代码是通过用常量而不是 wav 文件填充编码缓冲区的简化示例。hFile是在别处创建的实例TStreamFile

第一部分运行良好,创建了标头并将其保存到流中。然后我只是用 1.0 浮点数填充缓冲区以进行测试。

当有足够的数据可用时,调用vorbis_analysis总是生成Access Violation at x write of address x

该变量res始终指示成功,一直到访问冲突。

我正在使用静态链接的 libogg v1.3.2 和 libvorbis 1.3.5

0 投票
1 回答
1837 浏览

c - 如何在c中加载ogg文件?

我正在使用 openal 学习音频并尝试将 ogg 文件加载到内存中,以便可以使用 openal 播放它们。我一直在寻找一个库来加载 ogg 文件,我找到的最好的是这个,它没有依赖关系。但是文档很乱,我在网上找不到像样的教程示例。我想知道的是如何加载一个 ogg 并获得一些我可以实际发送到 openal 缓冲区的东西。

问:如果我有这个电话:

它应该解码“文件名”并将数据存储到“输出”中。所以我可以将它发送到 openal 对吗? 这不是缺乏研究,经过数小时的阅读,我无法真正了解它是如何工作的。如果有另一个库可以轻松加载 ogg 文件,请告诉我。

谢谢!

0 投票
1 回答
484 浏览

c++ - 如何使用 IGraphBuilder 播放 ogg Vorbis 文件

我需要编写一个可以在 IGraphBuilder 或任何其他 Windows API 的帮助下直接播放 .ogg Vorbis 文件的程序(在 C++/win32 API 中)?

我尝试使用 IGraphBuilder 但这对我不起作用。示例代码:

注意:上面的语句hr = pGraph->RenderFile()返回 hr = 0x80040265 并且条件if (SUCCEEDED(hr))不允许播放它。

如果我不使用此条件,则pControl->Run()返回 ID_OK 执行。但是没有用扬声器播放。请提出解决方案/方法。

0 投票
0 回答
453 浏览

android - 使用 vorbis AudioEncoder 录制时抛出 IllegalStateException

我正在尝试使用 ogg vorbis 格式录制音频捕获,但是在使用 mp3 格式时调用 start() 时出现 IllegalStateException 一切都很好我的 MediaRecorder 代码 snnipet:

如果可以选择将 MediaRecorder 与 Opus 编码器一起使用,那很好,我想要一个例子。我正在寻找一种免费的记录格式,所以我不能使用 mp3。

我的日志:

0 投票
1 回答
51 浏览

java - 第一次播放 ogg 文件有效,第二次播放 LineUnavailableException

我正在尝试在 Java 中循环 ogg 音频文件。我正在使用VorbisSPI

我成功地播放了一次文件。当我尝试再次播放该文件或播放另一个文件时,我得到一个

我不知道我做错了什么。

方法如下。

0 投票
1 回答
942 浏览

c++ - 使用 stb_vorbis 和 SDL2 播放音频会中断

无论我使用什么音频文件,它总是会切断大约四分之一的路径。我有一种感觉,这是因为我将解码的音频转换为 a Uint8*,但如果我不这样做,音频播放速度非常快,它仍然只播放大约一半的文件。此外,由于某种原因,使用SDL_MixAudio代替SDL_memcpy会导致一堆声音副本相互播放。

0 投票
1 回答
436 浏览

c++ - 将循环逻辑从 matroska (mkv, webm) 解码为音频 (C++ via libvorbis)

(我英语不流利,我会尽力而为)

我尝试编写(C++)一个简单的 mkv 播放器。我对这个主题很陌生,所以我会一点一点地发现我需要的一切。一开始,我对视频使用 VP8 编解码器,对音频使用 Vorbis。视频方面目前似乎还可以,但我在音频方面遇到了麻烦。

我无法弄清楚循环逻辑来解码我使用 libvorbis 从mkvparser获得音频帧。我查看了这个示例这个简短的解释,但无法使其适用于我的情况。我没有找到其他简单的例子。

这是我的一段代码:

也许我获取帧的方式适用于视频而不是音频......

你们知道一些好的资源可以分享吗?或者一些建议?

感谢帮助 !

[编辑]:我忘了添加我的尝试之一:

它在ogg_sync_pageout崩溃,因为我的ogg_page未正确初始化。但是,不像我发现的示例那样来自正确的 .ogg 文件,我不知道如何正确初始化 vorbis 结构。

0 投票
1 回答
507 浏览

ffmpeg - 无法编译 libvorbis(缺少 Ogg)

我正在按照本指南编译带有 libvpx 支持的 FFMPEG。在 libvorbis 编译步骤中,我收到此错误:

Ogg编译安装步骤没有报错,找不到这个config.log文件。我在 local/lib 和 local/bin 中有 libogg。

0 投票
1 回答
109 浏览

c++ - OggVorbis ov_open() 引发访问冲突异常

我正在尝试使用 Vorbis SDK/DLL 打开一个 OggVorbis 文件。ov_open()引发访问冲突异常0x00000014。我已经检查了文件是否存在:我已经打开它fopen并将内容打印到控制台只是为了检查 - 一切都很好!

可能没有什么区别,但 DLL 已编译为DEBUG Win32,我的项目正在相同的配置下编译。

为了保证,我使用了文件的绝对路径,并且文件确实存在。如前所述,我可以自己打开并阅读它。

*.ogg 文件是使用 FL Studio 以 192kbps 的速度渲染的,它在 Adob​​e Audition 和 VLC Media Player 中也可以正常打开和播放。

这是我必须打开文件并将其发送到 Vorbis 库的代码(代码来自教程):

引发异常的“Vorbis”代码:

此时,off == 0whence == 1

我确实看到方法名称包含“64”。这可能是要读取 64 位编码文件吗?或者当它实际编译为 32 位时,它是否试图以 64 位运行?或者这根本不是问题?:P

此外,当我按照教程进行操作时,我注意到代码中存在一些我必须更正的错误。所以我想知道本教程是否足够“完整”,即:也许有一些变量 I should ,或者在将打开的文件发送到以便对其进行相应处理#define之前可能缺少的其他东西。ov_open

技术规格:

  • 视窗 10
  • 视觉工作室速成版 2013
  • _MSC_VER1800
  • libogg.dllv1.3.2(当前)
  • libvorbis.dllv1.3.5(当前)

注意:下载的Vorbis源代码仅包含VS2010 之前的解决方案项目文件。我在 Visual Studio Express 2013 中打开了 VS2010解决方案来编译它们,以实现与我的项目的兼容性。我也想知道这是否会导致一些问题。

0 投票
1 回答
2202 浏览

google-chrome - 在 Chrome 上使用 MediaRecorder 录制的音频缺少持续时间

我正在使用 MediaRecorder 录制音频 (oga/vorbis) 文件。当我通过 Chrome 记录这些文件时,我遇到了问题:我无法在 ffmpeg 上编辑文件,当我尝试在 Firefox 上播放它们时,它说它们已损坏(尽管它们在 Chrome 上播放正常)。

查看他们在 ffmpeg 上的元数据,我得到了这个:

如您所见,持续时间存在问题。我看过这样的帖子: 如何在 Chrome 中为从 MediaRecorder 录制的音频添加预定义的长度?

但即使尝试这样做,我在尝试剪切和合并文件时也遇到了错误。例如在运行时:

我得到了很多这样的:

有谁知道我们需要对从 Chrome 录制的音频文件做些什么才能使它们有用?还是我的设置有问题?

记录器js: