问题标签 [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.
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 库被编写为作为脚本包含在页面上。
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 看到它们。
我将非常感谢有关如何解决此问题的任何提示,因为我似乎在这一点上停留了很长一段时间。
非常感谢 :)
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或做其他事情?
ios - 如何使用 OpenAL 在 IOS 上播放 Ogg/Vorbis 声音?
我想在使用 OpenAL 的 IOS 设备上播放 Ogg/Vorbis 声音文件,因为它具有低延迟。
我有可以编译并部署到 iPhone 6 上的代码,但没有声音。我使用的代码几乎与在 Windows 上运行良好的代码相同,所以我被困在这里。
加载ogg的代码:
运行上述代码的相关代码片段:
为什么设备上没有声音播放?
ffmpeg - 是否可以对具有确切长度(到毫秒)的音频流进行编码?
我希望在 mp3、aac 或 vorbis 编解码器中创建一个长度正好为 30 秒的输出文件。我已经通过以下命令使用了 avconv(也尝试了 ffmpeg):
这会产生输出,说明它已经编码了 30 秒,但随后:
当我在 mp3 中编码时,它正确显示它在编码过程中超过 30 秒。当我尝试使用 vorbis 时,它的运行时间略少于 30 秒。
是否可以使用任何工具(我更喜欢 avconv)来实现 30 秒到毫秒的长度。
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 库,但没有定义这些符号。
audio-streaming - 使用 NAudio 和 Vorbis 直播音频文件
我可以访问包含 ogg 格式的音频流的文件。它们是连续的,并使用音频标签在我们的 html 文件中播放:
我正在使用 Naudio 和 Vorbis 添加。运行流的代码是:
这会引发“此流不支持查找操作”异常。这是有道理的,因为我正在从一个没有明确定义的结束或长度的流中读取。
知道如何使用 Vorbis 插件播放连续的 ogg 流吗?
谢谢
gcc - 使用 vorbis 库时如何编译 .c 文件。对 vorbis_info_init 的未定义引用
我安装了 libvorbis-div 与sudo apt install libvorbis-dev
. 但是当我尝试使用gcc a.c
命令编译我的简单代码时,我得到“未定义的对 `vorbis_info_init' 的引用”错误。
交流