Intereting Posts
Android-скрывать панель действий во время запуска, а затем показывать ее снова? Полностью закрытие приложения Android для мобильного телефона Отображать изображение из URL-адресов и задач ориентации экрана Компиляция простого ношения приложения в Android Studio – WatchActivity не найден Существует ли официальный способ аутентификации Google Data API на Android с использованием учетных записей AccountManager? Android – Как переопределить кнопку «Назад», чтобы она не закончила () мою активность? Отчет об ошибке сбоя консоли ACRA vs для Android Как исключить определенные сообщения по имени TAG с помощью Android adb logcat? IOS: как добиться такого поведения, как Android startActivityForResult Android – Эффект изображения Warp Android ListView Default Divider Styles / Attributes Завершение кода не работает для внешних XML-атрибутов библиотеки (Android Studio) Вопросы по разработке и выпуску ключевых хэшей для Facebook SDK для Android Кто-нибудь нашел обходной путь для исправления клавиатуры Android Cordova? Приложение Android Facebook: срок доступа к токену (expires_in) всегда равен 0

Как воспроизвести звуковой эффект в 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(); }