Как воспроизводить звук по умолчанию TICK?
Я хочу подключить звук Android по умолчанию по умолчанию (например, звук, который вы слышите, когда вы долго нажимаете кнопку "Главная" и выбираете предыдущее приложение для запуска) с помощью моей кнопки. Я знаю, как воспроизводить звуки через MediaPlayer, но я не знаю, где искать этот звук по умолчанию. Это должно было быть в некоторых ресурсах по умолчанию, но я не мог найти его.
MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound);
mp.setLooping(false);
mp.start();
Любой может помочь?
PS. этот звук будет активирован внутри метода onClick.
PPS. Я знаю, что могу использовать user/raw dir, но я не думаю, что в этом есть необходимость. Не говоря уже, кулер, чтобы играть этот тиковый звук, подготовленный для пользовательского телефона.
Ответы
Ответ 1
ПРИМЕЧАНИЕ. Это довольно старый ответ. Проверьте Роберто Тейли ниже.
Я думаю, что звук, который вы ищете, находится и находится в /system/media/audio/ui/KeypressStandard.ogg
Я думаю, вы можете указать этот путь к API-интерфейсу SetDataSource
медиаплеера. Но я не уверен, будет ли он иметь одно и то же имя на всех телефонах Android.
Возможно, лучший способ запросить звук щелчка по умолчанию..
Ответ 2
Вы можете воспроизводить звук "тика" по умолчанию Android с помощью метода view.playSoundEffect()
на любом представлении - на удивление достаточно, все представления могут воспроизводить выбор "системных" звуков:
view.playSoundEffect(SoundEffectConstants.CLICK);
Это, вероятно, самый простой ответ на вашу проблему:)
Ответ 3
Если вы хотите контролировать громкость звука, используйте системную службу AudioManager
. Плюс это можно использовать из Сервиса, если у вас нет удобного представления.
// get the AudioManager once onCreate or similar
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
...
// Play a System Sound
audioManager.playSoundEffect(SoundEffectConstants.CLICK);
// OR at 50% Volume
audioManager.playSoundEffect(SoundEffectConstants.CLICK, 0.5F);
Если вы находитесь в Google GLASS, вы можете использовать константы com.google.android.glass.media.Sounds
audioManager.playSoundEffect(Sounds.TAP);
В Звуки включены
ДЕЙСТВИТЕЛЬНО, ОШИБКА, УСПЕХ, ТАП, ВЫБРАННЫЙ, ОТКЛОНЕННЫЙ
Ответ 4
Ответ Роберто Тейли правильный.
Вы можете воспроизводить звук из каждого вида, просто называя его следующим образом:
Button01.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
v.playSoundEffect(SoundEffectConstants.CLICK);
}
});
Обратите внимание, что звук не будет воспроизводиться, если по умолчанию отключены звуки касания. Это задано в настройках звука устройства (Настройки → Звук → Звук или на новой ОС: Опции > Звук > Прикосновение)
Кроме того, если этот параметр установлен, большинство событий щелчка в любом случае вызовут звук щелчка!
Ответ 5
Вы можете использовать тик, звуковой сигнал или любой встроенный звук Генератор тональности
ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200);