我对android还不熟悉,目前我正在开发一个项目,我必须指导一个使用音频信号的人。 我实际上想要做的只是在一个耳朵上发出一个声音,告诉他要么左转,要么右转。当直线指挥时,双耳会发出哔哔声。如何让android只发一个耳朵?
我在这里找到了很多关于如何在android上生成嘟嘟声的例子。
下面是如何生成任意蜂鸣声的例子: Playing an arbitrary tone with Android
我要的仅仅是一个见机行事,并在任一耳朵播放之间切换。任何人都知道如何做到这一点?
我对android还不熟悉,目前我正在开发一个项目,我必须指导一个使用音频信号的人。 我实际上想要做的只是在一个耳朵上发出一个声音,告诉他要么左转,要么右转。当直线指挥时,双耳会发出哔哔声。如何让android只发一个耳朵?
我在这里找到了很多关于如何在android上生成嘟嘟声的例子。
下面是如何生成任意蜂鸣声的例子: Playing an arbitrary tone with Android
我要的仅仅是一个见机行事,并在任一耳朵播放之间切换。任何人都知道如何做到这一点?
查看文档,您可以使用AudioFormat控制输出。不知道这是否给你你需要的精度。
final AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
sampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, numSamples,
AudioTrack.MODE_STATIC);
更改以此为左声道输出:
final AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
sampleRate, AudioFormat.CHANNEL_OUT_FRONT_LEFT,
AudioFormat.ENCODING_PCM_16BIT, numSamples,
AudioTrack.MODE_STATIC);
文档:http://developer.android.com/reference/android/media/AudioFormat.html
使用CHANNEL_OUT_FRONT_LEFT和CHANNEL_OUT_FRONT_RIGHT我无法在一只耳朵中播放音调。这没有明显的影响。所有的音调听起来都一样,而且它们都来自两个耳机。我只需要一个耳机就可以在任何方向引导一个人的情况下工作。 – masad
所以你将不得不使用CHANNEL_OUT_STEREO格式和编码三个阵列一个为左耳,一个为右,和两个耳朵 – L7ColWinters
http://stackoverflow.com/questions/6458780/sending-a-buzz-sound-to-ear-bud-left-or-right duplicate – L7ColWinters
你究竟是什么意思,通过编码为不同的耳朵?我曾尝试切换耳朵之间的音量水平,但它不起作用。你能解释一下如何为不同的耳朵编码吗? – masad