Я попытался сделать Android-плеер для Android, и он отлично работает, а затем я играю музыку. Но я получил ошибку (1, -38) на 2.3, затем попытался отобразить видео на поверхности.ошибка пользовательского медиа-плеера на Android 2.3
// Mediaplayer
mp = new MediaPlayer();
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
public void onPrepared(MediaPlayer mp)
{
isPrepared = true;
mp.start();
}
});
mp.setDataSource("http://commonsware.com/misc/test2.3gp");
mp.prepareAsync();
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setDisplay(surfaceHolder);//if comment this string - player is working fine
Как это исправить?
В чем разница между медиапланерами android 2.3 и 4.0?
'-38'' 'INVALID_OPERATION' (обычно вы вызывали один из методов« MediaPlayer », находясь в неправильном состоянии). Было бы хорошо знать, какой вызов вызвал ошибку. Что еще говорит logcat? – Michael
Ничего, только эта ошибка. – Segrey
Поскольку 'setDisplay()' можно вызывать в любом состоянии, есть хорошая вероятность, что ваша переменная 'surfaceHolder' настроена неправильно. Было бы неплохо показать код, связанный с этим. Кроме того, согласно документам, вы должны вызывать 'setAudioStreamType (...)' перед тем, как подготовить игрока для вступления в силу. –