问题标签 [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 投票
0 回答
392 浏览

decode - 如何获取ogg文件的所有数据包

我想获取 ogg 文件的所有 vorbis 数据包并将其放入列表中,我现在不想对其进行解码。

现在我已经这样做了:

如果我现在解码数据包,那么我可以继续获取数据包。但是,如果我不对其进行解码而只想将它们放入 List 中,那么我将无法获取数据包。我应该怎么做?

0 投票
1 回答
1930 浏览

decode - 如何使用 ogg 文件计算 sampleTime 和 sampleDuration

我在媒体基础上创建了 ogg 解码器。

我已经读取了一些数据包作为样本(压缩数据),现在我需要知道样本的时间和样本的持续时间。

现在我知道了 AvgBytesPerSec 和 SamplesPerSec 等等,但是这个参数用于解压缩数据。

那么如何通过使用压缩数据来获取 IMFSample 的时间和持续时间呢?

0 投票
2 回答
825 浏览

c++ - OGG Vorbis:已定义,但未使用 - 如何抑制?

我在学校有一个小组项目(3D FPS 游戏),我使用 C++ 中的 OpenAL 和 OGG Vorbis 编写音频。我们的编译器设置为警告我们已定义但未使用的变量,这被证明是 Vorbis 的一个问题。当我编译我们的应用程序时,我得到了这个:

等等。您可以看到这是一团糟,重要的东西很容易丢失。

我似乎无法找到一种方法来抑制 vorbis 未使用的变量。我试过

但这会禁用所有 vorbis 定义,这不是我想要的。

有人可以帮忙吗?提前致谢!

0 投票
2 回答
4516 浏览

c++ - 从 C++ 中的内存中的 libvorbis 音频解码

给定 C++ 中的编码缓冲区,使用 oggvorbis 结构解码已经在内存中的数据的步骤是什么?

无法使用 OggVorbis_File,因为资产在压缩档案中。

我正在尝试研究必要的结构和方法,但我对音频编码和解码还很陌生。

任何可以帮助我进一步阅读的资源也受到赞赏!

我应该澄清一下,我打算使用解码后的数据流入 OpenAL。

谢谢。

0 投票
2 回答
2951 浏览

android - 如何在 Android 上获取 Vorbis 库?

好的,我花了一天的大部分时间试图做到这一点,我想我必须错过一些相当明显的东西。

Android SDK显然原生支持 Vorbis 文件。作为开发人员有什么方法可以访问这些库。

情况:我有一个使用libvorbis 和 libogg 库的项目来加载 ogg 文件。整个东西在 OSX、linux、iOS 等上编译并运行良好,我试图将它移植到 android。

使用 NDK 编译项目,我得到错误:( fatal error: vorbis/codec.h: No such file or directory compilation terminated. 我假设它会继续说它找不到 vorbisfile.h)

问题一:Android上可以访问C语言的vorbis API吗?或者实际上,是否有任何 Vorbis API?

没有太多努力,我偶然发现了 Tremor 和Tremolo - ARM vorbis 库,但我找不到任何关于如何让它们使用 Android SDK 编译的信息。

问题2:有人可以提供任何帮助吗?

让我知道我是否可以提供任何其他信息来提供帮助。

0 投票
2 回答
353 浏览

java - Vorbis SPI 为 OGG 文件抛出 UnsupportedAudioFileException

我正在尝试从 Java 程序播放 OGG Vorbis 文件。PCM 文件 (*.wav) 与此代码一起工作正常:

为了也能播放 OGG 文件,我下载了Vorbis SPI并将 jar 放在类路径中。我尝试使用来自 Wikipedia 的示例 ogg。但它仍然不起作用,它给了我一个 UnsupportedAudioFileException。

你知道我做错了什么吗?

0 投票
1 回答
1449 浏览

java - 无法将音频文件编码为 Vorbis

我试图使用 Xuggler 将音频格式转换为 ogg ( vorbis ) 文件。

首先,我已经尝试了非常基本的方法,

目标文件以 .ogg 结尾。这实际上有效,但是它编码为 ogg FLAC 而不是 ogg vorbis。

然后我尝试手动完成它的一些部分,

首先 - 获取原始采样率和通道号,其次 - 添加音频流,使用这些采样率、通道号和 vorbis 的编解码器 ID。

/* 这些是用于获取采样率和通道,我认为它们不相关,但我*/复制它只是为了以防万一

当我尝试运行它时,它给了我一个错误“错误 org.ffmpeg - [libvorbis @ 0436F300] 不支持指定的 sample_fmt。” “警告 com.xuggle.xuggler - 错误:无法打开编解码器 (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:831) "

旁注 = 它适用于 mp3、wav 和 flac ogg 文件。另外,我尝试将扩展名更改为 .vorbis 而不是 .ogg。还是同样的错误。

然后当然,我用谷歌搜索了它。关于这个问题只有 1 个相关的 q/a https://groups.google.com/forum/?fromgroups=#!topic/xuggler-users/18hsI_LGxI4

但是,我不明白答案=)。

非常感谢您的回答。

0 投票
2 回答
2251 浏览

networking - GStreamer:通过网络流式传输 vorbis 编码的音频

我想编写一个通过网络传输音频和视频的应用程序。作为一个简单的开始,我想尝试音频部分。

我想通过网络从我的麦克风流式传输 vorbis 编码的音频。我从接收器的以下管道开始:

gst-launch-0.10 tcpserversrc host=localhost port=3000 ! oggdemux ! vorbisdec ! audioconvert ! audio/x-raw-int, endianness="(int)1234", signed="(boolean)true", width="(int)16", depth="(int)16", rate="(int)22000", channels="(int)1" ! alsasink

对于发件人:

gst-launch-0.10 autoaudiosrc ! audio/x-raw-int,rate=22000,channels=1,width=16 ! audioconvert ! vorbisenc ! oggmux ! tcpclientsink host=localhost port=3000

这种作品,但音频很抢眼。

有人可以给我一个提示,我可以如何通过网络顺利地从我的麦克风进行 vorbis 编码和流式传输音频?

编辑:我使用audiotestsrc并记录了输出:http ://db.tt/oDuQ2O41

0 投票
1 回答
814 浏览

android - 导入 Android NDK 项目(解码 OGG)

我正在尝试使用 NDK 项目在 Android 中解码 OGG 文件(我尝试了一些)。无论我尝试哪一个,我在构建时总是会收到类似的错误:

我对 NDK 很陌生(显然),所以我不确定我做错了什么。我想做的就是能够设置OGG文件的播放速率。

0 投票
1 回答
208 浏览

vala - Alsa 以 2 倍的频率播放 vorbis

我目前正在尝试学习如何使用 Alsa 播放音频文件。我似乎大部分时间都拥有它,文件加载和播放,但我必须将频率降低一半才能让它正确播放。为什么会这样,我该如何解决?

这是我目前使用的 Vala 代码:

感谢您提供的任何帮助。