Пример 1 не готов – Soundpool в Android 2.1

Ребята, у меня есть аудиофайл, который я читаю из sdcard it.On, нажав кнопку, я играю аудиофайл с sdcard.It успешно воспроизводит аудиофайл в течение 6-7 раз, но после этого он unable to load (null) sample 1 not ready

Я работаю в Android 2.1, т.е. API 7.

 String path="/sdcard/var/audio.mp3" sound1 = mSoundPool.load(path,1); mSoundPool.play(sound1, 1, 1, 1, time - 1, 1); 

Что такое soundpool, указывающий мне, говоря, что невозможно загрузить (нулевой) образец 1 не готов? Как я могу исправить это, пожалуйста, помогите мне, я боюсь долгое время.

У меня была аналогичная проблема с wav-файлом. Давайте начнем отбрасывать некоторые вещи:

Это НЕ проблема ожидания, хотя это может быть и в других случаях. Обратите внимание, что вы разместили два ОТЛИЧНЫХ сообщения об ошибках, таких как:

  1. Не удалось загрузить (null)
  2. Образец 1 не готов

Первая ошибка возникает при попытке загрузить образец в SoundPool, второй – при попытке воспроизвести его. Но в этом случае вторая ошибка, очевидно, является следствием первого: образец не может быть готов, если он не был загружен.

Поэтому прежде всего вам следует сконцентрироваться на первой ошибке.

Это НЕ относится к MediaPlayer, поскольку вы используете SoundPool, это другая вещь AFAIK.

Таким образом, источник проблемы может быть и должен быть отброшен по заказу:

  1. Файл отсутствует.
  2. Файл есть, но по какой-то причине он не читается.
  3. Файл есть, и он доступен для чтения, но он поврежден или нет аудиофайла.
  4. Файл есть, и он читается, и это не поврежденный аудиофайл, но 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 для решения проблемы.

Почему это не просто работало в первом случае? Кто знает, но если я могу решить это так легко … кто вообще заботится?

С Уважением,

Думаю , это твоя проблема . Целый файл не загружен, и вы пытаетесь его воспроизвести. Вы должны подождать некоторое время, прежде чем играть в нее.

Вы пробовали вызывать mediaplayer.release () и повторно инициализировать? Также http://developer.android.com/reference/android/media/MediaPlayer.html

Вам нужно будет проверить, что файл загружен успешно, прежде чем воспроизводить его, используя SoundPool.setOnLoadCompleteListener

 public void loadSound (String strSound, int stream) { boolean loaded = false; mSoundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() { @Override public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { mSoundPool.play(stream, streamVolume, streamVolume, 1, LOOP_1_TIME, 1f); } }); try { stream= mSoundPool.load(aMan.openFd(strSound), 1); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 
Intereting Posts
Как получить локальную переменную из Runnable Thread Ошибка отправки Bundle с PendingIntent в широковещательный приемник, потерянные данные Многофункциональное приложение, основанное на библиотеке с несколькими вкусами в Android Gradle Android FragmentTransaction commit Когда? Событие LongClick также вызывает событие Click Ошибка: <идентификатор> ожидаемое использование и ADB не может найти Nexus 7 в Mac OS X Mavericks Класс не является абстрактным и не отменяет абстрактный метод onClick (View) в OnClickListener Является ли отражение необходимым, если я использую «if (android.os.Build.VERSION.SDK_INT> = 11)» Как добавить несколько параметров одного и того же массива с помощью Retrofit? Программно повторно запускать / воссоздавать деятельность? Каковы способы программного создания наборов цветов Material Design? Java.lang.NoClassDefFoundError: android.support.v4.view.LayoutInflaterCompatHC в Android Studio Почему мягкая клавиатура скрыта при возобновлении? Предварительная обработка с помощью Android