Запустите звук, как только приложение загрузится. Приложение для Android

1

Я создаю игру, и у меня есть несколько аудиоклипов в игре. Я использую аудио-пул, и я использую только 2 аудиоклипа. Они оба формата mp3, 1 - 700 кбайт, а другой - 800 байт.

Я пытаюсь воспроизвести аудиоклип на 700 кб при первой загрузке игры. Это фоновый звук, который будет работать навсегда, пока приложение открыто. Однако все, что я пытался, терпит неудачу. Единственный способ, которым я смог заставить его работать, - запустить поток при запуске и отключить поток в течение 15 секунд. После этого он вызывает начальный звук, и он воспроизводится, но если поток уничтожен, он будет убивать звук с ним.

Я предполагаю, что звук буферизуется, и почему он не играет в начале? Также вам нужно сделать все звуковые вызовы из потока?

  • 0
    Почему вы не опубликовали, что не работает (код)?
Теги:
audio
soundpool

1 ответ

1

Я только что использовал этот код в методе Activity onCreate(), который работает нормально:

public class LaunchActivity extends Activity {
       private MediaPlayer mp;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.whatever);

        setVolumeControlStream(AudioManager.STREAM_MUSIC); 
        mp = MediaPlayer.create(this, R.raw.a);
        mp.start();

    }

Если для этого экземпляра нет инструкций о прекращении, он будет продолжать воспроизводиться для всех действий в приложении, а если вы выйдете из приложения, он все равно будет играть, и когда вы вернетесь, новый экземпляр начнет играть поверх старого в в то же время! Медиа-плеер - это собственный процесс, поэтому я думаю, что нет необходимости в другом потоке.

Вы уверены, что что-то не так с вашим файлом MP3 и заставляет систему бороться?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню