У меня была похожая проблема с файлом WAV.Давайте начнем отбрасывать некоторые вещи:
Это не проблема ожидания, хотя это может быть в других случаях.Обратите внимание, что вы опубликовали два РАЗНЫХ сообщения об ошибке, вроде одного:
- невозможно загрузить (ноль)
- образец 1 не готов
Первая ошибка возникает при попытке загрузить семпл в SoundPool, вторая - при попытке его воспроизвести.Но в этом случае вторая ошибка явно является следствием первой: образец не может быть готов, если он не был загружен.
Поэтому вам следует сосредоточиться раньше на первой ошибке.
Это не относится и к MediaPlayer, так как вы используете SoundPool, который отличается от AFAIK.
Таким образом, источником проблемы может быть, и ее следует исключить по порядку:
- Файл не существует.
- Файл существует, но по какой-то причине он не доступен для чтения.
- Файл существует и доступен для чтения, но он поврежден илине аудиофайл.
- Файл существует, и его можно прочитать, и это не поврежденный аудиофайл, но SoundPool его не любит.
Это последний случай, который был у меня.По какой-то причине SoundPool не смог загрузить wav-сэмпл, который на самом деле работает в любом другом плеере, который я использовал.Поэтому я просто прекратил использовать другой файл с другим форматом.Вот формат файла-нарушителя, как говорит mplayer на моем компьютере GNU / LiNUX:
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 96000 Hz, 1 ch, s16le, 1536.0 kbit/100.00% (ratio: 192000->192000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
А вот этот файл для другого файла работает:
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 22050 Hz, 2 ch, s16le, 705.6 kbit/100.00% (ratio: 88200->88200)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
Есть много отличий, но дело в том, что второе работает, поэтому я просто отбросил первое и перешел ко второму.Зная это, если мне нужен первый образец звука, мне просто нужно отрегулировать его частоту и каналы с помощью аудиоредактора, такого как Audacity, для решения проблемы.
Почему это не сработало в первом случае?Кто знает, но если я могу решить это так просто ... кого это волнует?
С уважением,