2012-06-04 4 views
3

Я все еще новичок в Android и в настоящее время я работаю над проектом, где я должен вести человека с использованием аудиосигналов. То, что я на самом деле хочу сделать, это звуковой сигнал на частоте только в одном ухе, чтобы сказать человеку либо повернуть налево, либо повернуть направо. Когда направляется прямое оба уха, раздастся звуковой сигнал.как сделать звуковой сигнал в одном ухе?

Я нашел несколько примеров здесь, как создать звуковой сигнал на Android.

Вот пример того, как сгенерировать произвольный звуковой сигнал: Playing an arbitrary tone with Android

Все, что я хочу играть только в одном ухе и переключаться между воспроизведением либо в ушах. У кого-нибудь есть представление о том, как это можно сделать?

+2

, поэтому вам нужно будет использовать CHANNEL_OUT_STEREO для формата и закодировать три массива один для левого уха, один для правой и обе уши – L7ColWinters

+1

http://stackoverflow.com/questions/6458780/sending-a-buzz-sound-to-ear-bud-left-or-right duplicate – L7ColWinters

+0

Что именно вы подразумеваете под кодировкой для разных ушей? Я попытался переключить уровень громкости между ушами, но он не работает. Не могли бы вы объяснить, как кодировать разные уши? – masad

ответ

1

Вы можете сделать три различных стерео soundclips, где у вас есть звук в левый, правый и оба канала, а затем играть их с SoundPool

+0

До сих пор я не имел успеха с генерированием тонов. Думаю, мне придется использовать ваш метод. Не могли бы вы рассказать мне, знаете ли вы, как создавать эти звуковые клики на ПК? – masad

+1

Я просто использовал смелость - супер soundtool: http://audacity.sourceforge.net/ –

+0

Я тоже использовал смелость. Его довольно удобный инструмент для создания звука, используя андроид, я не имел никакого успеха в создании звуковых сигналов на лету. – masad

1

Глядя на документы, вы можете управлять выходом с помощью 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); 

Docs: http://developer.android.com/reference/android/media/AudioFormat.html

+0

с использованием CHANNEL_OUT_FRONT_LEFT и CHANNEL_OUT_FRONT_RIGHT Я не могу воспроизводить тон в одном ухе. Нет никакого очевидного эффекта этого. Все тоны звучат одинаково, и они поступают с обоих наушников. Мне нужен только один наушник для работы в ситуации, когда я должен вести человека в любом направлении. – masad

Смежные вопросы