问题标签 [pcm]

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 投票
2 回答
2837 浏览

android - 使用 Android NDK 时是否可以使用本机 AAC 解码器?

我正在寻找一种在 Android 上将 AAC 本地解码为 PCM 的方法。解码器源代码位于https://android.googlesource.com/platform/external/opencore/+/master/codecs_v2/audio/aac/dec,但我对 NDK 一点也不熟悉。

1)没有办法直接使用Android SDK来做这件事,但是可以通过NDK来做吗?

2) 我对从 SDK 访问解码器的简单方法特别感兴趣,通过 NDK 有一个简短的“桥”。这可行吗?

3) 这样的解决方案是否适用于所有 Android 版本 (1.5-2.2)?

4) 我想我可以改用http://code.google.com/p/aacplayer-android/,但看起来这个实现是相当 CPU 密集型的。有没有人有这方面的经验?

0 投票
2 回答
2350 浏览

java - How can I decode OGG vorbis data from a ByteBuffer?

The libraries I founded so far only have methods to decode from a file or InputStream. I have a ByteBuffer with OGG vorbis data and I need it decoded to PCM without having to write it to a file first.

0 投票
1 回答
1000 浏览

c - 使用 DirectSound 播放立体声 PCM

嘿,我有一个使用 DirectSound 制作的简单 16 位 PCM 播放器。但是当它播放时,它似乎只播放一个扬声器而不是两个。

我不知道要准确发布什么代码,所以如果您需要任何代码,您必须告诉我。我可以说我使用创建声音缓冲区,并使用以下方法锁定流:

0 投票
1 回答
5978 浏览

c++ - 如何使用openAL将实时音频输入从麦克风录制到文件中?(里面有C++代码)

我有这样的代码,用于在 Windows 上使用 openAL 进行麦克风回声。

我想创建一些CapturedAudioData文件来写入循环期间捕获的所有音频数据。所以它会像未格式化的 PCM。我需要每秒填充 25 次。

如何创建这样的东西 - 我必须更改/添加到我的代码中?

0 投票
1 回答
4125 浏览

audio - C & Fmod Ex - 实时播放 PCM 阵列/缓冲区

我使用数组来处理无线电信号并获取原始 PCM 音频。我正在拼命尝试使用 Fmod Ex 播放此音频。

基本上,是否可以创建一个与我的循环缓冲区相对应的流,我可以以线程安全的方式访问它?任何有关使用什么方法的基本信息将不胜感激。

如果不是,任何其他 Windows 7 API 都可以解决问题吗?如何解决?(ASIO,瓦萨皮...)

谢谢°-°

0 投票
2 回答
170 浏览

c - 将 2 个 sint16s 样本表示为单个 uint32 样本

我的问题与这个问题有关,但它是相反的。

将 UInt32(音频帧)拆分为两个 SInt16(左右)?

在上面的链接中,操作想要将 32 位帧拆分为 2 个 16 位样本(左和右)。

我有 2 个 16 位样本,我想将它们表示为单个 32 位交错帧。

到目前为止我所尝试的看起来像这样。

这是合法和正确的吗?由于经验不足,我不确定。我的音频输出听起来有点奇怪,我正试图通过消除过程来确定出了什么问题。

如果有人可以确认我正在做的是将 2 个 16 位样本表示为 32 位帧的正确方法或提出正确的方法,那将会很有帮助。

我有一种感觉,我所做的事情是错误的。我认为这是因为 32 位帧的前 16 位应该在左边,而后 16 位应该在右边。整个事情不应该是两者的总和……我想。

0 投票
1 回答
744 浏览

android - Android MediaPlayer 导致游戏冻结并显示“AudioHardware pcm 播放将进入待机状态”

这是困难的一个 :/

我正在制作一款基于音乐的 Android 游戏,比如 Audiosurf。除了在歌曲结束前几秒钟(使用普通 MediaPlayer 播放)音乐突然停止并且整个游戏(包括 UI)冻结几秒钟外,它工作得很好。

每次发生这种情况时,我都会在 logcat 中看到“AudioHardware pcm 播放将进入待机状态”-错误。

谷歌搜索使我得出的结论是

  • 这可能是 HTC Hero 特定问题(无法在模拟器或其他设备上复制)
  • 当 http 流对于 MediaPlayer 来说不够快时,通常会记录此消息
  • Android中的音频通常很糟糕

由于我已经使用 NDK + libmpg123 对 mp3 进行解码以进行音频分析,因此我不妨自己播放音频(在 NDK C 代码和 Java 中的 AudioTrack 之间使用非常丑陋的接口)。

是否有针对此错误的修复/解决方法,或者我真的应该这样做吗?(我只剩下有限的时间来完成这个项目)

我感谢每一个提示!

0 投票
1 回答
6666 浏览

ios - 确定 Core Audio AudioBuffer 中的帧数

我正在尝试访问 iPhone/iPad 上音频文件的原始数据。我有以下代码,这是我需要的基本路径。但是,一旦有了 AudioBuffer,我就很难过。

本质上,我不知道如何判断每个缓冲区包含多少帧,因此我无法可靠地从中提取数据。我是处理原始音频数据的新手,因此我愿意接受有关如何最好地读取 AudioBuffer 结构的 mData 属性的任何建议。过去我也没有对 void 指针做太多事情,所以在这种情况下提供帮助也会很棒!

0 投票
5 回答
10534 浏览

java - java pcm转wav

我有一个 pcm 文件,我想将其转换为 wav 文件。

有没有合适的api或代码?

0 投票
1 回答
3765 浏览

android - Android将pcm文件从AudioRecord转换为更小的文件

我试图在 Android 中录制音频。使用 MediaRecorder 的声音质量真的很糟糕。

所以我尝试使用 AudioRecord 函数将声音写入流。质量很好,但 pcm 文件太大,因为我想将它们上传到远程服务器。

有人知道如何压缩 pcm(如 mp3 或其他)吗?任何帮助都非常感谢。

汤姆