如何在 Android 中输入/输出声音?

Posted

技术标签:

【中文标题】如何在 Android 中输入/输出声音?【英文标题】:How to Input / Output sound in Android? 【发布时间】:2013-10-10 19:51:30 【问题描述】:

我想构建一个软件来获取音频信号(来自电吉他插孔电缆)并将它们传输到音频输出。

首先,我想我应该编写一个程序,将声音传输到输出,而不改变它。我猜这涉及到一个 Jack-To-USB 适配器。

我的目标是改变信号,比如它的音高、增益等。

任何想法如何做这样的事情?

感谢您的帮助:)

附言

我的意思是直播。从 USB 输入端接收到信号后,应立即传输信号。

【问题讨论】:

【参考方案1】:

看看 android 的 MediaRecorder。 http://developer.android.com/guide/topics/media/audio-capture.html

【讨论】:

谢谢,伙计。这些库支持现场演奏吗?比如,听麦克风?我想处理音频信号,因为用户正在弹吉他。 是的,看看 AudioRecord。 developer.android.com/reference/android/media/AudioRecord.html【参考方案2】:

如果您说 live 时的意思是 低延迟,那么就有问题了,因为在大多数 Android 设备上,输入信号和输出信号之间的延迟超过 50 毫秒.但通常情况下,人们会接受总延迟小于 20 毫秒。

为了您改变音高的特殊目的,算法延迟还会将总延迟增加到一个高得无法忍受的值,即使对于业余使用来说也是如此 - 正如我所说的:在大多数 Android 设备上。

【讨论】:

以上是关于如何在 Android 中输入/输出声音?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 soundPool (Android) 中逐渐加载声音?

Android上的蓝牙声音输出

在 Java 中,如何录制发送到扬声器的声音输出? [复制]

如何计算在Android的声音频率是多少

如何将 CD 音轨输入 ALSA 驱动的声音输出设备?

如何使用 JACK 将音频输出重定向到输入?