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

c# - 如何以便携的方式在 C# 中播放压缩的声音文件?

在 C# / .Net 中播放压缩声音文件是否有可移植的、不受专利限制的方式?我想在程序中发生的各种事件上播放简短的“叮当声”。

System.Media.SoundPlayer只能处理 WAV,但它们通常太大而无法嵌入可下载的应用程序中。MP3 受专利保护,因此即使有完全托管的解码器/播放器,也不能免费重新分发。可用的最佳格式似乎是 OGG Vorbis,但我没有让任何 C# Vorbis 库工作(我设法用csvorbis提取原始 PCM,但我不知道之后如何播放它)。

我既不想在我的应用程序中分发任何二进制文件,也不想依赖 P/Invoke,因为该项目至少应该在 Windows 和 Linux 上运行。只要它们与 GPL 许可证兼容,我就可以捆绑 .Net 程序集。

[这个问题是一年前关于 mono-dev 邮件列表的邮件列表讨论的后续问题]

0 投票
8 回答
3534 浏览

.net - 如何在 .Net/Mono 中解码 wav、mp3 和/或 ogg?

我正在寻找一种跨平台(Windows、MacOSX 和 Linux 上的 .Net 和 Mono)方法来解码 wav、mp3 或 ogg 文件,以便我可以根据需要通过 DirectSound 或 OpenAL 播放解码的流。

可以解码 mp3 或 ogg 的解决方案就足够了 - 无需同时解码两者。如果它(或其他解决方案)也可以解码 wav,那将是理想的,但不是绝对必要的,因为我可能会将我的 wav 文件转换为 mp3 或 ogg。

只能解码wav文件的解决方案只是部分解决方案,但我会尽我所能。;-)

这是我已经看过的内容:

  • DirectSound 和 Alut 都支持 WAV 解码,但 Alut 已被弃用。
  • ffmpeg 几乎可以解码任何东西,但它似乎没有跨平台的通用稳定版本?
  • 我还没有尝试过 csvorbis,但它已经很老了,我不确定它的当前状态是什么。

非常欢迎您尝试说服我上述解决方案之一实际上是最佳选择。

谢谢。

0 投票
1 回答
763 浏览

java - 如何编码实时音频?

我正在创建语音报告。用户必须提交他的语音报告,并且它应该同时使用 Vorbis 编码器对音频数据进行编码。它工作正常,但编码将在录制结束后开始。

但我必须即时使用 Vorbis 编码器。请分享任何示例代码,这将很有帮助。

0 投票
1 回答
1722 浏览

c++ - XAudio2 和可变比特率音频

如何正确播放可能具有可变比特率(在某些情况下甚至是可变数量的通道)的音频文件,例如 ogg/vorbis?

XAudio 期望在创建源语音时在 WAVEFORMATEX 结构中提供此信息,并且似乎没有提供一种方法来为每个提交的缓冲区更改它...

0 投票
2 回答
3698 浏览

c - 读取 Ogg/Flac 文件的标签数据

我正在开发一个从音乐文件中读取标签信息的 C 库。我已经处理了 ID3v2,但我无法弄清楚 Ogg 文件的结构。

我在 hexeditor 中打开了一个 .ogg 文件,我可以找到标签数据,因为这都是人类可读的。但是从文件开头到标签数据的所有内容看起来都像垃圾。这些数据是如何编码的?

我在实际代码中不需要任何帮助,我只需要帮助可视化 Ogg 标头的外观以及它使用的编码,以便我可以阅读它。我想使用一种非 hacky 的方法来读取 Ogg 文件。

我一直在看Flac 格式,这很有帮助。

我正在查看的 Flac 文件在“fLac”标识符和人类可读的注释部分之间有大约 350 个字节,并且在我的十六进制编辑器中没有一个是人类可读的,所以我确信那里一定有一些重要的东西.

我使用的是 Linux,我无意移植到 Windows 或 OS X。所以如果我需要使用仅 glibc 的函数来转换编码,我可以接受。

0 投票
2 回答
1254 浏览

silverlight - 如何在 Silverlight 中播放 ogg vorbis 文件?

我想在 Silverlight 中播放来自 http 的 ogg vorbis 音频。我需要做什么才能做到这一点?

0 投票
1 回答
3993 浏览

audio - 无论如何,是否可以通过 HTML5 音频元素从 Ogg 的 MP3 或 Vorbis 评论中获取 ID3 元数据?

Mozilla 开发人员中心的 HTML5 媒体指南描述了一个名为“loadedmetadata”的音频和视频元素事件。无论如何要获取文件的元数据吗?我正在为 Google Chrome 编写 HTML5 扩展程序,但我不知道我正在为其创建播放器的音频文件的元数据是什么。

编辑:这个问题似乎在踢每个人的屁股。:/

0 投票
3 回答
443 浏览

java - PulpCore 音乐播放 - 循环声音和动画音量

我一直在尝试使用 PulpCore,尝试创建自己的塔防游戏(还不能玩),我非常喜欢它,我遇到了一个我无法弄清楚的问题。我用 JOrbis 扩展了 PulpCore 以允许播放 OGG 文件。工作正常。然而,pulpCore 似乎有一个问题,即在为音量设置动画的同时循环声音。我也用 wav 文件试过这个,以确保它不是 jOrbis 破坏它。代码是这样的:

这段代码,只要最后一行被注释掉,就会在无限循环中一次又一次地播放 music.ogg(我可以通过对从 loop() 返回的 Playback 对象调用 stop 来停止它。但是,我想要音乐平滑淡入,所以按照 PulpCore API 文档的建议,我添加了最后一行将创建淡入但音乐只会播放一次然后停止。我想知道为什么会这样?这里有一点文档:

播放pulpcore.sound.Sound.loop(固定级别)

以指定的音量(0.0 到 1.0)循环这个声音片段。关卡可能附加了属性动画。

参数:级别

返回: 此唯一声音播放的 Playback 对象(一个 Sound 可以同时有多个 Playback 对象);如果无法播放声音,则返回 null。

那么可能是什么问题呢?我重复,最后一行,声音淡入但不循环,没有它循环但从指定的 0.75 音量级别开始。为什么我不能为循环音乐播放的音量设置动画?我究竟做错了什么?任何人都有使用pulpCore的经验并且遇到过这个问题?任何人都可以下载 PulpCore 并尝试循环播放淡入(淡出)的音乐吗?

注意:我需要保留对返回的 Playback 对象的引用,以便以后可以终止音乐。

0 投票
2 回答
3511 浏览

c# - 流式传输 Ogg 文件

有谁知道如何流式传输 Ogg 文件而无需首先通过 Socket(字节 [] 格式)完全下载它们。

我正在尝试创建一个音乐流媒体应用程序,并且我设法使用 MP3 来做到这一点,但我知道在一定限​​制之后存在许可问题,因此我想使用 OGG(Vorbis)。我设法找到了这个 C# Vorbis Wrapper但没有文档,而且我无法弄清楚如何让 byte[] 流播放。

我试过以下

但是会抛出一个异常,表明 Wav 文件头不正确。我了解 SoundPlayer 仅用于播放 .wav 文件?有人知道如何流式传输 OGG 文件吗?

0 投票
1 回答
418 浏览

oggvorbis - 将 libvorbisfile.dylib 链接到 Mac 应用程序时出错

我正在开发一个从 Ogg Vorbis 文件加载声音的程序,但无论我做什么,XCode 项目似乎都不想将 libvorbisfile.a 链接到我的程序中。我不断收到链接错误: