Android SDK Mediaplayer.create случайным образом возвращает null

У меня проблема, из-за которой метод MediaPlayer.create возвращает null, даже если аудиофайл определенно существует. На самом деле, если я ставлю вызов на создание в цикл while, медиа-проигрыватель в конечном итоге будет создан успешно. Это только кажется на моем телефоне (HTC Hero работает 2.1) и никогда в эмуляторе.

Это просто проблема с телефоном? Или есть другой способ, которым я должен играть эти аудиофайлы?

Обратите внимание, что я хочу загружать их динамически, и я получаю вызов getIndentifer. Если есть лучший способ играть эти динамически, пожалуйста, дайте мне знать.

public void playAudio(String audioFile){

    //instance variable of type MediaPlayer
    _player = null;
    while(_player == null){
         _player = MediaPlayer.create(_context, getResources().getIdentifier(audioFile, "raw", _context.getPackageName()));
    }
    _player.start();

}


Спасибо.

Ответ 1

A SoundPool (Docs) может быть что-то рассмотреть.