问题标签 [vorbis]

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 投票
1 回答
660 浏览

javascript - 将imports-loader和exports-loader与覆盖模块变量的库链接

我正在尝试加载一个名为 libvorbis.js 的音频编码库,它是 vorbis 的 emscripten 编译版本。

libvorbis.js 需要在其作用域内使用 window 变量执行,并将类作为 var 公开而没有导出声明。

通常链接imports-loader 和exports-loader 来获取这样的文件很容易。使用-

这会将窗口对象公开为 libvorbis.js 中的“this”,并将 VorbisMediaRecorder 作为返回到 this ,这是我的其他模块/代码稍后运行所需的。

但是,libvorbis.js 本身会覆盖“模块”变量,这会导致 export-loader 无法导出

libvorbis.js 在它的代码中有这个检查

这会覆盖导致 webpack 抛出此错误的模块

因为它试图运行

关于如何解决这个问题的任何想法?我真的不想分叉 libvorbis 并修改它的源代码。

libvorbis.js 库被编写为作为脚本包含在页面上。

0 投票
1 回答
652 浏览

sdl - 使用 libvorbis 静态编译 SDL2_Mixer

我一直在尝试使用 OGG 支持构建 SDL2_Mixer,但即使 libvorbis 和 libogg 库是其来源的一部分:https ://hg.libsdl.org/SDL_mixer/file/7e59d684b070/external它似乎没有添加对ogg 在编译时。

有趣的是,如果我将这些标志提供给 SDL2_Mixer configure: --enable-music-ogg=true --enable-music-ogg-shared=false。我没有收到任何错误,但缺少支持。如果我省略上述所有内容并保留:--disable-shared --enable-static 我从配置中收到以下错误:

但这对我来说没有多大意义,因为 SDL2_Mixer 自带这些库 :(。

我可能会传递一些路径或任何错误,但我不知道是什么。

这是我用来编译项目的CMakeLists.txt 。

我也碰到过这个: http : //forums.libsdl.org/viewtopic.php?p=20698 这听起来很接近我的问题,虽然使用的是旧的 SDL_Mixer。

而且我也碰到了这个线程:https : //swarminglogic.com/article/2014_11_crosscompile2 如果这些都是 SDL2_Mixer 的一部分,他会分别下载 ogg 和 vorbis 源,这感觉很奇怪。无论如何,我也尝试过单独构建这些库,但也无法让 SDL2_Mixer 看到它们。

我将非常感谢有关如何解决此问题的任何提示,因为我似乎在这一点上停留了很长一段时间。

非常感谢 :)

0 投票
1 回答
144 浏览

c - 获取震颤样本

由于更简单的集成(用于 ESP-32),我必须在我的项目中使用震颤来解码 ogg vorbis。它的码头说:

它以主机端序、有符号 16 位 PCM格式返回最多指定字节数的解码音频。如果音频是多通道的,则通道在输出缓冲区中交错。

…</p>

签名:long ov_read(OggVorbis_File *vf, char *buffer , int length, int *bitstream);

现在我对如何从 char 数组中读取 16 位签名样本感到困惑。我是否必须遵循此处的一些建议Convert 2 char into 1 int或做其他事情?

0 投票
1 回答
290 浏览

ios - 如何使用 OpenAL 在 IOS 上播放 Ogg/Vorbis 声音?

我想在使用 OpenAL 的 IOS 设备上播放 Ogg/Vorbis 声音文件,因为它具有低延迟。

我有可以编译并部署到 iPhone 6 上的代码,但没有声音。我使用的代码几乎与在 Windows 上运行良好的代码相同,所以我被困在这里。

加载ogg的代码:

运行上述代码的相关代码片段:

为什么设备上没有声音播放?

0 投票
1 回答
270 浏览

javascript - How to concatenate Ogg with JS?

In my webapp user can download OGG (vorbis), but I found that for example VLC show one file duration as 35 seconds but play it for ten minutes.

Currently I build a file for downloading with:

#xA;

vlc

With xdd I checked the start of the OGG - but I do not see how I can alter anything here:

#xA;
0 投票
0 回答
109 浏览

vorbis - 如何使用 libvorbis 获取原始编码的 vorbis 数据?

我需要使用 vorbis 编解码器对 PCM 样本(从音频输入中捕获)进行编码。我发现的一个示例显示了如何将 WAV 编码为 ogg,并且根据文档vorbis_block,该结构(它看起来包含原始编码缓冲区)没有公共成员。我不需要ogg。我需要将此原始编码音频数据与 WebM 容器中的 VP8 视频数据包混合(实时音频/视频录制)。

如何使用 libvorbis 获取原始编码的音频缓冲区?

0 投票
1 回答
141 浏览

ffmpeg - 是否可以对具有确切长度(到毫秒)的音频流进行编码?

我希望在 mp3、aac 或 vorbis 编解码器中创建一个长度正好为 30 秒的输出文件。我已经通过以下命令使用了 avconv(也尝试了 ffmpeg):

这会产生输出,说明它已经编码了 30 秒,但随后:

当我在 mp3 中编码时,它正确显示它在编码过程中超过 30 秒。当我尝试使用 vorbis 时,它的运行时间略少于 30 秒。

是否可以使用任何工具(我更喜欢 avconv)来实现 30 秒到毫秒的长度。

0 投票
0 回答
18 浏览

c++ - 使用 ogg vorbis 播放声音会导致链接器错误 ov_open is undefined。以下代码有什么问题?

为了在 Ubuntu18 上编写播放 ogg vorbis 文件的代码,我安装了 openal 和 alut,然后我下载了 libogg-1.3.3 和 libvorbis-1.3.6 并执行了以下操作:

据我所知,没有错误,它们似乎安装在我的 linux 系统中。

我复制了一个演示。我可以附加整个代码,它不是很大。作为参考,代码在这里:https ://www.gamedev.net/articles/programming/general-and-gameplay-programming/introduction-to-ogg-vorbis-r2031/

编译:

g++ -g playSound.cc -lopenal -lalut -logg -lvorbis

没有错误抱怨找不到任何库,但是有一个未定义的符号 ov_open、ov_info、ov_read

因为我假设这些符号在 libogg 或 libvorbis 中,所以我尝试删除 -logg -lvorbis (结果相同),然后作为健全性检查,我尝试链接到一个假库(-lfugu),这给了我一个错误,因为 fugu 确实不存在。很明显,该链接正在查找 ogg 和 vorbis 库,但没有定义这些符号。

0 投票
1 回答
254 浏览

audio-streaming - 使用 NAudio 和 Vorbis 直播音频文件

我可以访问包含 ogg 格式的音频流的文件。它们是连续的,并使用音频标签在我们的 html 文件中播放:

我正在使用 Naudio 和 Vorbis 添加。运行流的代码是:

这会引发“此流不支持查找操作”异常。这是有道理的,因为我正在从一个没有明确定义的结束或长度的流中读取。

知道如何使用 Vorbis 插件播放连续的 ogg 流吗?

谢谢

0 投票
1 回答
182 浏览

gcc - 使用 vorbis 库时如何编译 .c 文件。对 vorbis_info_init 的未定义引用

我安装了 libvorbis-div 与sudo apt install libvorbis-dev. 但是当我尝试使用gcc a.c命令编译我的简单代码时,我得到“未定义的对 `vorbis_info_init' 的引用”错误。

交流