问题标签 [opus]

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

android - Android 应用程序无法播放“作品”文件

我正在开发一个应用程序来播放音乐文件。最近,我收到了一个“作品”编码文件。我正在使用 MediaPlayer 类来播放文件,但是对于这种文件,我会收到此错误:

文件类型为“audio/ogg;codecs=opus”

我试图从 whatsapp 媒体目录播放音频文件。如果我在 whatsapp 上打开此音频,听起来很完美,但如果我将其复制并粘贴到我的应用程序文件夹并尝试使用 MediaPlayer 付款,则没有任何反应。

任何想法??谢谢!!

0 投票
1 回答
715 浏览

android - Android 5.0+ MediaPlayer 在尝试播放 OPUS 文件时抛出 PreparedFailed 异常

我正在尝试从我的 android 应用程序(针对 5.0+)播放 .opus 媒体文件。此文件的来源是设备外部存储。

MediaPlayer 不断抛出 "java.io.IOException: Prepare failed.: status=0x1" 。请注意,我可以播放其他文件类型,如 mp3 和 aac

注意:已授予 READ_EXTERNAL_STORAGE 权限。

先感谢您。

下面是我位于 Android Fragment 中的部分代码:

和堆栈跟踪:

0 投票
1 回答
1205 浏览

audio - 有没有办法比 DTX 更好地优化 Opus 中的静音期?

我正在对 Opus 中的 DTX 选项进行一些研究:

不连续传输 (DTX) 会降低静音或背景噪音期间的比特率。启用 DTX 后,每 400 毫秒仅编码一帧。

我想知道是否有一种简单的方法可以让 Opus 在整个静音期的整个持续时间内准确编码一帧,而不是每 400 毫秒编码一次无用的静音帧?

我想在静音或非语音活动期间产生“绝对”静音并最大限度地减少标题的开销,所以基本上安静的录音会产生一个几乎空的文件。

如果有其他编解码器可以做到这一点,我很高兴听到他们的消息。

0 投票
1 回答
2036 浏览

android - 在 Android 上的 PJSIP 2.5.1 上启用和配置 OPUS 编解码器

我正在使用 PJSIP 库在 Android 上构建一个 VOIP 应用程序。

我试图启用 OPUS 编解码器,因为从 v2.5 开始,PJSIP 支持 OPUS。

我按照以下链接在 PJSIP 上配置 OPUS。

我插入#define PJMEDIA_HAS_OPUS_CODEC 1了 config_site_sample.h 文件以启用 OPUS 编解码器。

但是当我尝试构建 PJSIP 时,出现以下错误

我做错什么了吗?在 PJSIP 中启用 OPUS 编解码器的实际过程是什么?

0 投票
1 回答
669 浏览

android - 在 android VOIP 应用程序中集成任何编解码器

我正在开发一个不需要在 PSTN 上运行的 android voip 应用程序。我完全是这个领域的新手,任何一点帮助都将不胜感激。

我首先研究了 whatsapp 语音通话的工作原理,发现它使用的是开源 sip 堆栈库 PJSIP(来源:What's up with WhatsApp and WebRTC? - webrtcHacks)。我还发现 voip 中使用编解码器来压缩然后解压缩 voip 数据包。

知道我对那些 sip 库和编解码器感到非常困惑。android voip 应用程序是否必须具有实现 sip 库?每个 sip 库都支持一些编解码器。

是否有任何通用格式可以让我在我的 android 应用程序中集成任何编解码器,无论是 OPUS 还是 Speex 或类似的独立于 sip 实现的东西?

可能是我听起来太混乱了,但这是真的。即使在这个特定主题上搜索这么多也没有帮助我,我的最后一站是这个社区。任何小的指导将不胜感激。

0 投票
1 回答
2298 浏览

c++ - 解码 Ogg/Opus 文件

我有一小段 C++ 代码,它试图打开一个 ogg/opus 编码文件并使用 opus API 来使用函数 opus_decode() 对其进行解码。问题是,我为相同的声音所做的 opus_decode() 调用几乎有一半返回负(错误)代码。-4 和 -2(无效的包和缓冲区太短)我无法解决。输出就像

N 解码:960 N 解码:-4 N 解码:-4 N 解码:960 N 解码:-4 N 解码:1920 N 解码:960 N 解码:-4 N 解码:-4

等等。

0 投票
2 回答
2984 浏览

webrtc - WebRTC OPUS 编解码器:良好音频的最小带宽

在我的 WebRTC 应用程序中,OPUS 编解码器已用于压缩音频流,我想知道应该为没有抖动的音频流分配的最小可行带宽是多少?

0 投票
1 回答
510 浏览

windows - 为 blackfin 交叉编译 OPUS 编解码器

我已经成功地在 linux 上使用它在 2 台 linux pc 之间建立了一个流。在 OPUS 的 README 文件之后,这是直接的。

现在我需要在 Windows 上为 Blackfin ADSP-BF707 交叉编译 OPUS 编解码器。我试图通过 CrossCore Embedded Studio 进行编译,但是我没有所有的包含并定义了 make 文件正在设置。

我可以看到可以为 ARM 处理器设置定义,但我没有为 Blackfin 找到任何东西。他们的问答告诉我们,编解码器已经编译为 Blackfin。在 linux 中,“./configure”命令构建了 makefile,但我看不到交叉编译是如何完成的。我要构建自己的 makefile 还是我该怎么做?

0 投票
3 回答
6983 浏览

converter - 如何将 MP3 文件转换为 OGG OPUS 文件?

是否有可以将MP3文件转换为OGG Opus的转换器?
你能推荐我一个可以做到的吗?

到目前为止,我已经尝试过Adob​​e AuditionXilisoft Audio Converter ProWinAVI Video ConverterAimersoft Video Converter Pro ...但它们都没有用

0 投票
1 回答
431 浏览

android - 在 Android 上从 OPUS 帧创建可播放的音频文件。

我使用一些具有 VOIP 功能的 Android SDK。

当接收到语音数据时,会触发一些事件。每次它被触发时,它都有一个 byte[] ,这是一个 OPUS 帧。所以这个事件被触发了几次,每次都有新的框架。

我的问题是,我怎样才能用它创建一个可播放的音频文件?我尝试创建一个 byte[] ,每次触发事件时,向其附加一个数据,然后将这个数组保存到一个文件中,然后播放它。

它没有用,我错过了什么?