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

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

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

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

加载ogg的代码:

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

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

0 投票
0 回答
237 浏览

android - MediaRecorder:启动失败:-38

以下是我用来通过 MIC 以 .opus 格式录制音频的代码。我总是收到错误 MediaRecorder:启动失败:-38。但是,如果将输出格式和音频编码器更改为任何其他格式,例如带有 AAC 或 AMR 的 THREE_GPP、MPEG_4,这将正常工作。由于我需要 opus 文件类型,我不能使用任何其他音频格式。由于 android 在 opus over (Android 5.0+) 设备上有官方支持,这应该可以工作。如果我在这里做错了什么,请纠正我。

0 投票
1 回答
1169 浏览

java - Java ProcessBuilder 没有执行命令,但也没有返回错误

在我的电脑上运行以下代码可以正常工作,但在我的服务器上由 nginx-clojure 运行时不能。

背景:

我正在为音乐相关项目开发 REST API。它使用 nginx 模块 (nginx-clojure) 来嵌入 Java 程序。我现在的目标是使用 unix 命令行实用程序vorbiscomment和 Java ProcessBuilder 编辑 vorbis-tags。该代码确实可以在我的电脑上运行,这让我相信它可能与服务器上的权限有关。我的问题是我没有从 ProcessBuilder 获得任何输出,表明命令失败。我试过了:

它没有输出任何东西。

我会很感激任何帮助。

0 投票
1 回答
97 浏览

android - 在android中对ogg vorbis进行编码时是否有任何延迟时间?

我一直在使用 oggvorbis 库(在 google 上找到)来转换使用我的统一应用程序制作的录音。在 PC 上,代码工作正常并在大约 6 秒内转换我的录音,当我在我的 android 平板电脑上运行应用程序时,转换变成大约 30 秒。我还没有找到与我类似的任何问题的文字。您知道使用该库时该行为(时间延迟)是否正常?o 这可能是与我自己的代码有关的问题吗?

谢谢阅读。

0 投票
1 回答
153 浏览

gstreamer - 超过 8 个通道的 GStreamer vorbis 编码器警告(无效通道位置)

我有一个管道appsrc->rawaudioparse->audioconvert->vorbisenc->oggmux->filesink。在appsrc中,我将数据推送到缓冲区中。数据有 16 个通道,并且位于具有交错布局的浮点数组中(ch1、ch2、ch3、.....、ch16、ch1、ch2、......、ch16)。rawaudioparse属性是:

管道似乎运行良好,但我收到令我担心的警告。仅当我将通道数设置为 8 个以上时才会出现此警告。

在 rawaudioparse 中有一个名为channel-positions的属性,但我不知道如何设置它。

有谁知道为什么超过 8 个频道存在此警告以及如何解决?

0 投票
1 回答
37 浏览

c# - 使用创建进程从 C# 运行 exe 时如何模仿标准输入?

我有一个音频转换器 .exe,我想将它封装在 C# 程序中,用于 UI 和输入等。要使用 AudioConverter.exe,它是从带有后缀“< inputFile > ouputFile”的控制台运行的。所以整行读起来像

到目前为止,我已经能够在 C# 之外成功启动转换器,我已经设法通过 C# 中的创建进程在挂起状态下运行转换器(没有输入和输出文件)。到目前为止,我在 C# 中的代码与此站点上给出的答案非常相似:

到目前为止,转换器 exe 无法正确启动,这让我问这个问题是标准输入的输入与参数不同吗?

无论如何,我都需要模仿这种输入方式,并且会很感激任何信息。我曾假设我可以将输入和输出文件作为参数传递,但我运气不佳。

0 投票
1 回答
86 浏览

audio - Ogg opus 颗粒位置到时间戳

最终目标是裁剪/剪切/修剪包含单个作品流的 Ogg 文件,我正在尝试从文件中检索和过滤 ogg 页面以及位于 startTimeMs 和 endTimeMs 的裁剪窗口之间的那些页面,我将它们附加到2 个 ogg 头,无需转码即可修剪作品

我已经到了可以访问 ogg 页面的阶段,但我对如何确定页面是否位于裁剪窗口中感到困惑

如果我能够完成此方法,它应该可以工作

或者可能

任何 ogg/opus 帮助表示赞赏

https://github.com/leonfancy/oggus/issues/2

OggPage.java 与 private long granulePosition;

https://github.com/leonfancy/oggus/blob/master/src/main/java/org/chenliang/oggus/ogg/OggPage.java

Opus 音频编解码器的 Ogg 封装 https://datatracker.ietf.org/doc/html/rfc7845