Реализация звуков в приложении для Android - PullRequest
13 голосов
/ 01 февраля 2011

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

Ответы [ 5 ]

28 голосов
/ 01 февраля 2011
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.AudioFile1);
mp.start();

И тогда вы получите все методы start / stop / reset / pause / release из mp.

10 голосов
/ 01 февраля 2011

Просто поместите звуковой файл в /res/raw (после создания папки), а затем используйте MediaPlayer для инициализации, запуска и остановки воспроизведения звука. Документацию MediaPlayer можно найти здесь .

НТН,
Sriram.

8 голосов
/ 27 июля 2015

Я бы предложил SoundPool для бесшовного воспроизведения в Android, потому что mediaPlayer сначала загружает в память все звуковые данные, а не воспроизводит их, поэтому при частом переключении между звуками возникает некоторая задержка.

SoundPool - лучший вариант для небольшихразмер звукового файла, и дает лучший результат с медиа-файлом .ogg.

SoundPool soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
  @Override
  public void onLoadComplete(SoundPool soundPool, int sampleId,
      int status) {
    loaded = true;
  }
});
soundID = soundPool.load(this, R.raw.sound, 1);
if (loaded) {
    soundPool.play(soundID, volume, volume, 1, 0, 1f);
  }
6 голосов
/ 01 февраля 2011

Со страницы разработчика Android: http://developer.android.com/guide/topics/media/index.html

Возможно, игра из сырого ресурса самая распространенная вещь, которую нужно сделать, это воспроизводить медиа (особенно звук) в пределах ваши собственные приложения. Делать это легко:

Поставь звук (или другой носитель ресурс) файл в папку res / raw вашего проекта, где затмение плагин (или aapt) найдет его и сделает это в ресурс, который может быть ссылка из вашего класса R Создайте экземпляр MediaPlayer, ссылающийся этот ресурс с помощью MediaPlayer.create, а затем вызвать start () в экземпляре:

MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);

mp.start ();

Чтобы остановить воспроизведение, вызовите остановку (). Если вы хотите позже повторить СМИ, то вы должны сбросить () и prepare () объект MediaPlayer перед вызовом start () снова. (create () вызывает приготовление () первым время.)

Чтобы приостановить воспроизведение, вызовите pause (). Возобновите воспроизведение с того места, где вы остановились с начала ().

Воспроизведение из файла или потока Вы можете воспроизводить мультимедийные файлы с файловая система или веб-URL:

Создать экземпляр MediaPlayer используя новый вызов setDataSource () с Строка, содержащая путь (локальная файловая система или URL) к файлу, который вы хочу играть сначала подготовить () потом start () в экземпляре:

Как это

MediaPlayer mp = new MediaPlayer();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
4 голосов
/ 01 декабря 2013

С помощью Media Player вы можете добиться этого.

вот шаги ::

1.- Создайте новую папку с именем «raw» внутри папки «debug». Для его создания щелкните правой кнопкой мыши на папке «debug»> new> directory> и назовите ее «raw»:

Чтобы добавить файлы, просто перетащите файлы .wav / .mp3 в папку «raw».

2.- Импорт медиаплеера:

import android.media.MediaPlayer;

3.- Объявить глобальную переменную (и) MediaPlayer:

public MediaPlayer mp1;

4.- Внутри метода onCreate назначьте соответствующие звуки:

mp1 = MediaPlayer.create(MainActivity.this, raw.my_sound_name);

5.- Наконец, вы можете использовать методы ...

mp1.start () / mp1.stop () / mp1.pause ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...