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

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

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

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

1 Ответ

1 голос
/ 08 января 2011

Я только что использовал этот код в методе 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 и мешает работе системы?

...