Android+Phonegap: попытка вызова getDuration без действительного медиаплеера

Я получаю эту ошибку в LogCat.

Тот же код веб-приложения работает на iOS, но я получаю эту ошибку на Android

Attempt to call getDuration without a valid mediaplayer 

Спасибо.


person eifersucht    schedule 22.05.2012    source источник
comment
Это говорит вам все, ваш плеер действителен в iOS, но не в Android. Вы должны изменить MediaPlayer и можете ли вы дать нам код?   -  person Simon Dorociak    schedule 22.05.2012
comment
Я использую телефонную связь. Я думаю, что phonegap вызывает getDuration перед загрузкой трека. Но я не знаю, как я могу это изменить.   -  person eifersucht    schedule 22.05.2012
comment
вы когда-нибудь решали это?   -  person Azhar Bandri    schedule 09.10.2014
comment
Вы должны вызывать getDuration() только тогда, когда ваш проигрыватель готов. Это внутри обратного вызова onPrepared() вашего MediaPlayer onPreparedListener   -  person joao2fast4u    schedule 24.10.2014


Ответы (1)


Добавьте переменную mIsPreparedForPlayback и установите ее подготовленной:

mMediaPlayer.setOnPreparedListener(this);

//...

public void onPrepared(final MediaPlayer player) {
    mIsPreparedForPlayback = true;
}

затем вы проверяете это, прежде чем пытаться получить его.

person Daniel Gomez Rico    schedule 23.11.2015