Intereting Posts
Не показывать Android и AVD-менеджер в eclipse Android щепотку увеличить большое изображение, эффективность памяти без потери деталей Возврат из диалога или действия с результатом Android: изменение цвета фона фрагмента Android – программно проверьте подключение к Интернету и диалог отображения, если не подключен Android – ошибка proguard в студии android Разрешить Admob показывать видеообъявления Java.security.cert.CertPathValidatorException: привязка доверия для пути сертификации не найдена. Android 2.3 Совместное использование временных файлов между приложениями без SD-карты Как отобразить диалоговое окно в android без контекста Activity? Android lint исключить тестовые каталоги игнорировать в config не работает Как эмулировать местоположение GPS в эмуляторе Android? Как узнать, существует ли конкретный пакет на моем Android-устройстве? Продолжать работу службы Я пытаюсь показать тост, когда эта кнопка нажата. Но код не работает

Как воспроизвести звуковой эффект в Android

Я ищу сделать очень простой фрагмент кода, который воспроизводит звуковой эффект. Пока у меня есть этот код:

SoundManager snd; int combo; private void soundSetup() { // Create an instance of the sound manger snd = new SoundManager(getApplicationContext()); // Set volume rocker mode to media volume this.setVolumeControlStream(AudioManager.STREAM_MUSIC); // Load the samples from res/raw combo = snd.load(R.raw.combo); } private void playSound() { soundSetup(); snd.play(combo); } 

Однако по какой-то причине, когда я использую метод playSound() , ничего не происходит. Аудиофайл находится в правильном месте.

Solutions Collecting From Web of "Как воспроизвести звуковой эффект в Android"

Есть ли конкретная причина, по которой вы используете SoundManager ? Я бы использовал MediaPlayer , вот ссылка на Android Docs

http://developer.android.com/reference/android/media/MediaPlayer.html

То это так же просто, как

  MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.combo); mp.start(); 

Создайте каталог под названием «raw /» в каталоге «res /». Перетащите файлы wav или mp3 в папку raw /. Играйте в них из любого места, как указано выше.

Я также попытался использовать верхний ответ, но в результате он вызвал NullPointerExceptions из MediaPlayer, когда я пытался воспроизводить звук много раз подряд, поэтому немного расширил код.

FXPlayer – мой глобальный MediaPlayer.

 public void playSound(int _id) { if(FXPlayer != null) { FXPlayer.stop(); FXPlayer.release(); } FXPlayer = MediaPlayer.create(this, _id); if(FXPlayer != null) FXPlayer.start(); }