问题标签 [audiotrack]

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

android - 录制和播放声音之间的延迟(android)

我写了一个同时播放环境声音的安卓应用程序。

此代码有效,但声音播放不连续。我认为 record.read() 和 track.write() 之间存在延迟。

请帮助我使声音连续播放,没有不良噪音或崩溃。谢谢...

0 投票
2 回答
10021 浏览

android - 如何用 AudioTrack 分别播放左右声道?

首先,我需要动态生成 2 个频率相同但相位相反的正弦波音,并在 Android 上以立体声模式将它们分别播放到左右声道。播放需要完全同步,以便“镜像”左右声道的正弦波(当左声道具有,例如样本值为 120 时,右声道应该具有 -120)。

问题是我还没有找到任何证据表明这种设置是如何工作的。是否有可能提供 2 个单独的音调/采样缓冲区以AudioTrack分别并同时在左右声道中播放?如果没有,任何其他实现最终结果的解决方案都非常感谢。

我想一种选择是使用预先生成的立体声波文件并使用 流式传输这些文件AudioTrack,但这对于工作中的解决方案来说似乎太不灵活了。同时,如果AudioTrack能够以“真实”立体声模式播放这些预先录制的音频文件,我希望生成的声音也能实现同样的效果。

0 投票
1 回答
4109 浏览

android - AudioTrack:从线程开始调用

我在静态模式下使用 AudioTrack 一遍又一遍地再现相同的信号。

我已经按照此处的示例进行操作,有时它可以完美运行,但有时会抛出此错误并且不会发出声音:

这是源代码。我试图确保我调用停止并重新加载数据以进行下一次“播放”执行。

如果我们打开android源码的话,解释的不多:

有谁知道如何处理这个?

0 投票
1 回答
1370 浏览

java - Android SoundPool 左/右音量

我只想在正确的频道播放 mp3 文件。-> 左声道,设置音量:0(静音)

我试过 :

不幸的是,第一个通道(左):非常非常安静地播放歌曲(未静音),第二个通道(右)很好。为什么?

安卓操作系统:2.3.4

谢谢你的帮助!

0 投票
1 回答
6295 浏览

android - 如何同时播放多个 ogg 或 mp3 ..?

我正在尝试使用 MediaPlayer 同时播放 20 个 ogg 文件。这是因为我想做一个混合效果。在播放一首音乐时,还必须播放其他文件。其实我在iOS上已经做了一个有这个功能的应用,播放和混音都没有问题。现在,我应该将此应用程序转换为 android 应用程序。所以我判了 20 个媒体播放器变量

MediaPlayer player1; MediaPlayer player2; MediaPlayer player3; .....

每当我单击每个按钮时,它都会播放每种声音并进行混音。

但是,在这一点上我有一些问题。两种声音混合是可以的,但是当我尝试播放超过 3 种声音时,会添加一些声音,例如“滴答,滴答”。听起来像白噪音..我不知道为什么...我认为在android中制作这个混合应用程序真的很简单,因为我已经在iOS中做过,但我不知道问题是什么.. . 有没有人可以给我建议?我认为soundpool不是一个答案。它仅适用于短音。MediaPlayer 不适合同时播放多个声音?那么,我该如何实现这个功能呢?

0 投票
2 回答
4409 浏览

android - Android 如何在 AudioTrack 上设置循环?

我正在使用 AudioTrack 播放 .wav 文件。我有个问题。我将 setLoopPoints 设置为循环我的 .wav 文件,但它不起作用。

这是我的示例代码。

我可以很好地播放我的波形文件,但是 setLoopPoints 不起作用!任何人都可以帮助我..


我解决了这样的循环问题。我还有一个问题。每当我将数据写入音轨时,我的意思是每当重复音轨时,都会在第一部分添加一些诸如“滴答声”之类的噪音。我不知道如何消除这种噪音..有人知道如何解决吗?

0 投票
1 回答
3465 浏览

android - Java - 将 16 位 Mono PCM 原始数据转换为立体声

我将两个 16 位 PCM 样本混合到一个短缓冲区中。

我正在用来自 mp3 和 wav 文件的样本填充这些缓冲区。我发现 wav 文件将始终是单声道的,而 mp3 将始终是立体声的。

我读过,如果您“只需分配两倍于原始 PCM 数据大小的缓冲区,并且对于原始缓冲区中的每个样本,将其两次放入新缓冲区中”

我怎样才能做到这一点?我试过了,但现在的 wav 音频速度正常,但听起来像花栗鼠。

0 投票
1 回答
3809 浏览

android - setSpeakerphoneOn() 不能在 2.1 上工作,在 2.3 上工作

我需要通过听筒播放一些音频。我正在使用 AudioTrack 在设备上播放一些声音。并且音频模式设置为 STREAM_VOICE_CALL。此外,在我的活动中,扬声器通过以下方式关闭:

这似乎在 2.3 设备上完美运行。但是在 2.1 上,声音仍然从扬声器播放。

作为对此的修复,我尝试使用 setMode() 作为:

有了这个,声音通过听筒播放 2.1 和 2.3,但大多数时候 2.3 根本不播放。另外,我在某些地方读到 setMode() 不应该被应用程序使用,因为它会影响系统范围的电话状态。这里:http ://code.google.com/p/sipdroid/issues/detail?id=270

有什么帮助吗?

0 投票
2 回答
5399 浏览

android - android中的帧到毫秒转换

Android中AudioTrack类的getPlaybackHeadPosition ()方法返回播放头的位置,以帧为单位,它的等效值是多少毫秒?

0 投票
1 回答
795 浏览

android - 使用 Android 的 AudioTrack

我编写了一个基本上是节拍垫的应用程序,屏幕上出现了一系列按钮,您可以按下每个按钮来发出不同的声音,我正在尝试实现另一个按钮来录制这些声音,然后在您按下另一个按钮时播放它们按钮,但即使有文档,我也无法弄清楚如何使用 AudioTrack 对象创建、初始化和录制。有什么帮助吗?

这是我初始化的尝试: