Поправка: Похоже, что проблема связана с конкретным звуковым файлом, который я использовал. Другие приложения на дроидах, такие как диспетчер файлов Astro, также не могут воспроизвести его, и если я заменил его в пакете файлом AAC, он воспроизводит его без ошибок. Я закодировал проблемный аудиофайл в формате MP3 из WAV-файла, используя LAME на ubuntu. Было бы хорошо знать ограничения для медиа-плеера Android. У mplayer нет проблем с воспроизведением файла на ubuntu. Полагаю, я должен представить отчет об ошибке.Проблема с воспроизведением звука на android
Оригинальный вопрос: Следующий код разбивается, когда я пытаюсь воспроизвести его на своем дроиде. Сообщение об ошибке, указанное в журнале, это «Command PLAYER_INIT completed with an error or info PVMFErrNoResources.
». Затем исключение IOException возникает на линии mp.prepare()
. В моем каталоге проекта есть файл res/raw/bell.mp3
, который, как я полагаю, соответствует R.raw.bell
в коде ниже. Я строю с «ant debug
». Если это актуально, когда я создал каталог проекта с «android create
», я установил целевой номер 4, соответствующий моей системе, на «android 2.0».
Что я делаю неправильно, здесь?
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.media.MediaPlayer;
import android.util.Log;
public class testapp extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try {
MediaPlayer mp = MediaPlayer.create(this, R.raw.bell);
mp.prepare();
mp.start();
} catch (IOException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
}
Что произойдет, если вы попробуете это на эмуляторе? –
Не уверен; кажется, проблема с воспроизведением этого конкретного аудиофайла (см. исправление к вопросу.) Спасибо за предложение. –