问题标签 [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.
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
c - 如何在c中加载ogg文件?
我正在使用 openal 学习音频并尝试将 ogg 文件加载到内存中,以便可以使用 openal 播放它们。我一直在寻找一个库来加载 ogg 文件,我找到的最好的是这个,它没有依赖关系。但是文档很乱,我在网上找不到像样的教程示例。我想知道的是如何加载一个 ogg 并获得一些我可以实际发送到 openal 缓冲区的东西。
问:如果我有这个电话:
它应该解码“文件名”并将数据存储到“输出”中。所以我可以将它发送到 openal 对吗? 这不是缺乏研究,经过数小时的阅读,我无法真正了解它是如何工作的。如果有另一个库可以轻松加载 ogg 文件,请告诉我。
谢谢!
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 执行。但是没有用扬声器播放。请提出解决方案/方法。
android - 使用 vorbis AudioEncoder 录制时抛出 IllegalStateException
我正在尝试使用 ogg vorbis 格式录制音频捕获,但是在使用 mp3 格式时调用 start() 时出现 IllegalStateException 一切都很好我的 MediaRecorder 代码 snnipet:
如果可以选择将 MediaRecorder 与 Opus 编码器一起使用,那很好,我想要一个例子。我正在寻找一种免费的记录格式,所以我不能使用 mp3。
我的日志:
c++ - 使用 stb_vorbis 和 SDL2 播放音频会中断
无论我使用什么音频文件,它总是会切断大约四分之一的路径。我有一种感觉,这是因为我将解码的音频转换为 a Uint8*
,但如果我不这样做,音频播放速度非常快,它仍然只播放大约一半的文件。此外,由于某种原因,使用SDL_MixAudio
代替SDL_memcpy
会导致一堆声音副本相互播放。
c++ - 将循环逻辑从 matroska (mkv, webm) 解码为音频 (C++ via libvorbis)
(我英语不流利,我会尽力而为)
我尝试编写(C++)一个简单的 mkv 播放器。我对这个主题很陌生,所以我会一点一点地发现我需要的一切。一开始,我对视频使用 VP8 编解码器,对音频使用 Vorbis。视频方面目前似乎还可以,但我在音频方面遇到了麻烦。
我无法弄清楚循环逻辑来解码我使用 libvorbis 从mkvparser获得的音频帧。我查看了这个示例和这个简短的解释,但无法使其适用于我的情况。我没有找到其他简单的例子。
这是我的一段代码:
也许我获取帧的方式适用于视频而不是音频......
你们知道一些好的资源可以分享吗?或者一些建议?
感谢帮助 !
[编辑]:我忘了添加我的尝试之一:
它在ogg_sync_pageout崩溃,因为我的ogg_page未正确初始化。但是,不像我发现的示例那样来自正确的 .ogg 文件,我不知道如何正确初始化 vorbis 结构。
ffmpeg - 无法编译 libvorbis(缺少 Ogg)
我正在按照本指南编译带有 libvpx 支持的 FFMPEG。在 libvorbis 编译步骤中,我收到此错误:
Ogg编译安装步骤没有报错,找不到这个config.log文件。我在 local/lib 和 local/bin 中有 libogg。
c++ - OggVorbis ov_open() 引发访问冲突异常
我正在尝试使用 Vorbis SDK/DLL 打开一个 OggVorbis 文件。ov_open()
引发访问冲突异常0x00000014
。我已经检查了文件是否存在:我已经打开它fopen
并将内容打印到控制台只是为了检查 - 一切都很好!
可能没有什么区别,但 DLL 已编译为DEBUG Win32,我的项目正在相同的配置下编译。
为了保证,我使用了文件的绝对路径,并且文件确实存在。如前所述,我可以自己打开并阅读它。
*.ogg 文件是使用 FL Studio 以 192kbps 的速度渲染的,它在 Adobe Audition 和 VLC Media Player 中也可以正常打开和播放。
这是我必须打开文件并将其发送到 Vorbis 库的代码(代码来自本教程):
引发异常的“Vorbis”代码:
此时,off == 0
和whence == 1
。
我确实看到方法名称包含“64”。这可能是要读取 64 位编码文件吗?或者当它实际编译为 32 位时,它是否试图以 64 位运行?或者这根本不是问题?:P
此外,当我按照教程进行操作时,我注意到代码中存在一些我必须更正的错误。所以我想知道本教程是否足够“完整”,即:也许有一些变量 I should ,或者在将打开的文件发送到以便对其进行相应处理#define
之前可能缺少的其他东西。ov_open
技术规格:
- 视窗 10
- 视觉工作室速成版 2013
_MSC_VER
1800libogg.dll
v1.3.2(当前)libvorbis.dll
v1.3.5(当前)
注意:下载的Vorbis源代码仅包含VS2010 之前的解决方案和项目文件。我在 Visual Studio Express 2013 中打开了 VS2010解决方案来编译它们,以实现与我的项目的兼容性。我也想知道这是否会导致一些问题。
google-chrome - 在 Chrome 上使用 MediaRecorder 录制的音频缺少持续时间
我正在使用 MediaRecorder 录制音频 (oga/vorbis) 文件。当我通过 Chrome 记录这些文件时,我遇到了问题:我无法在 ffmpeg 上编辑文件,当我尝试在 Firefox 上播放它们时,它说它们已损坏(尽管它们在 Chrome 上播放正常)。
查看他们在 ffmpeg 上的元数据,我得到了这个:
如您所见,持续时间存在问题。我看过这样的帖子: 如何在 Chrome 中为从 MediaRecorder 录制的音频添加预定义的长度?
但即使尝试这样做,我在尝试剪切和合并文件时也遇到了错误。例如在运行时:
我得到了很多这样的:
有谁知道我们需要对从 Chrome 录制的音频文件做些什么才能使它们有用?还是我的设置有问题?
记录器js: