问题标签 [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 回答
77 浏览

java - OGG Vorbis 上的 Java 基本音频效果和裁剪

我正在使用 Java 开发一个项目,我需要获取一个长度未知的 OGG Vorbis 声音文件,并将其裁剪为单独的 1 秒片段,然后对所有这些片段应用淡出效果以及淡入到第一段。然后这些段需要全部保存为单独的文件。

我一直在查看 Java SPI 等,并让它解码并打开一个 OGG,但我无法让它正确地将效果应用于片段或将它们保存到文件中。

一位朋友建议我尝试使用 OpenIMAJ ( http://openimaj.org/ ),看起来它可能有我需要的东西,但我找不到关于它的好教程。

如何通过 Java 以编程方式加载 OGG 文件并将音频效果应用于 1 秒片段,然后单独保存这些 1 秒片段?

0 投票
1 回答
884 浏览

javascript - 如何通过 Ogg Vorbis Byte Buffer 获得采样率

我正在寻找包含采样率的 OggVorbis 标头中的字节范围。在规范中写道,此信息在标识头中

此处的规范显示了标识标头:

它说,采样率在字节 12-15 中找到。但是我怎样才能解析一个 oggVorbis 文件的字节数组来获得这个采样率呢?

我认为标识头必须是字节数组中的第一个块,然后采样率应该是字节 12-15 中的整数:

但它不起作用。

注意:我不想使用音频 API 来获取采样率。

0 投票
0 回答
453 浏览

android - CMakeLists 文件不生成 .so 文件

我正在尝试使用 CMake 在 Android 项目上实现 lib ogg 和 vorbis。该代码基于此存储库。我试图按照谷歌的推荐和 OpenCV 的一个例子来构建源代码。编译有效,但.so文件未附加到 APK。有什么办法解决吗?

源代码在这里:https ://github.com/ppamorim/jni_vorbis

谢谢,我真的很感激任何帮助。

0 投票
1 回答
1254 浏览

xcode - 如何将 OGG 与 SDL_Mixer 一起使用?

我似乎无法让 SDL_Mixer 在启用 OGG 支持的情况下进行初始化。我知道我必须与 libogg、libvorbis 和 libvorbisfile 链接,但它仍然不起作用。我有这三个库的.dylibs、.frameworks 和.as,我都试过了。

我将 dylibs/frameworks 复制到构建阶段选项卡中应用程序包的 Frameworks 文件夹中。

我已在构建设置选项卡中设置Runpath Search Paths为。@executable_path/../Frameworks

Mix_Init(MIX_INIT_OGG)不断返回错误OGG support not available

我正在使用所有提到的库的最新 Homebrew 版本。我不确定还能尝试什么。

我已经完成了一个以 300MB 的wavs 为音乐的游戏。

更新

我设法将一些 Objective C 与 C++ 混合在一起,并获得了一些声音,AVAudioPlayer但这是可怕的代码。我必须强制转换void *以确保我的音乐播放器类与我的 C++ 代码库兼容。垃圾收集器太烦人了。它所做的只是妨碍你。你必须用桥牌来对抗它。

我真的很想使用 SDL_Mixer 或一个简单的 C 库。

0 投票
3 回答
1608 浏览

ffmpeg - 如何将章节添加到 ogg 文件?

我正在尝试将章节添加到包含 vorbis 音频的 ogg 文件中。

这个链接我复制了以下 ffmpeg 命令。

我的 metadata_OGG.txt 文件如下所示。

我收到以下错误。

但是,如果我更改-codec copy-acodec copyffmpeg 中没有错误,但文本文件将转换为视频。即输出文件将有一个静态视频帧,其中包含 metadata_OGG.txt 的文本。此外,我在转换过程中观察到以下日志消息。

有人请告诉我这里出了什么问题吗?

另外,我想知道将章节添加到 ogg 的正确方法是什么。我也搜索了一些工具。我没有得到任何东西。

0 投票
0 回答
186 浏览

c# - 将 3gp 文件转换为 Ogg Vorbis?

我有一个 Xamarin.Android 项目,它.3gp使用 MediaRecorder 将音频录制为格式。我需要将此文件转换为.oggOgg Vorbis 格式。

是否已经有一个库或 NuGet 包可以做到这一点?如果不是,那么编写转换器的最佳方法是什么(注意:我一生中从未编写过音频转换器)?

提前致谢!

编辑:实现需要是跨平台的。

0 投票
0 回答
777 浏览

c++ - 使用 SDL2 和 stb_vorbis 破解音频

在我正在进行的一个项目中,我想使用 stb_vorbis 从 ogg 文件流式传输音频。但是,在实施了执行此操作的流程后,我发现音频有裂纹。我觉得问题可能与这个问题相似,但我看不出问题可能出在哪里。

这是我的代码:

更多信息:
thingy.ogg 来自Sean Barrett
在 OSX 机器上使用 g++ 构建的示例

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 回答
716 浏览

c++ - 如何使用 ov_open_callbacks 从流中打开 Ogg Vorbis 文件

打开 Ogg Vorbis 文件的标准方法是使用ov_fopenov_open. 但是,如果文件路径包含非 ASCII 字符,则这两个函数都不能在 Windows 上运行。

在这种情况下,可以包装现有std::ifstream(或不同的输入流)并通过ov_open_callbacks. 当我尝试这样做时,我发现有关所需包装函数的确切语义的文档有点粗略。

如何包装现有流以将其传递给ov_open_callbacks

0 投票
1 回答
317 浏览

ffmpeg - 使用 Android NDK 从 OGG 音乐文件中提取原始音频帧

在我的 Android 应用程序中,我希望能够通过提取音频样本、处理它们并将它们重定向到音频输出来动态处理 OGG 文件中的音频。

我知道如何使用 Android NDK 完成最后两个步骤,但我不知道如何提取音频样本以将它们放入浮点数或短裤数组中。

我试图让这段代码工作,显然,它可以动态提取原始音频样本。

问题是:我没有设法在我的项目中添加 FFMpeg。我尝试了很多教程(比如这个),但是因为我在 Windows 上工作,这似乎很困难。所以过了一会儿,我找到了Prebuild FFMpeg for Android,这似乎很有趣,因为它可用于 armeabi-v7a、arm64-v8a、x86 和 x86_64 架构,但同样,我不明白如何在我的项目中添加它。

我还查看了libogg,libvorbisvorbisfile,但我不知道如何将它们添加到我的项目中。

那么,有没有人有一个关于如何从 OGG 文件中动态提取音频样本的工作示例?

谢谢你的帮助。