Задействайте събитие VideoView onCompletion при грешка

Създавам списък с видеоклипове, които се възпроизвеждат в рамките на VideoView.

Искам да хвана грешката „Съжаляваме, този видеоклип не може да бъде възпроизведен“ и просто да премина към следващия видеоклип. Видеопревключването се обработва в рамките на onCompletionListener.

Вече получих кода за onErrorListener от тук, но просто не мога да намеря как да задействам „видеото е завършено“ събитие.

Някакви идеи?


person Ron    schedule 13.02.2013    source източник
comment

Декларацията doctype преди време е просто намек за браузъра как да анализира съдържанието на страницата. От HTML5 това беше премахнато и заменено с прост общ <!doctype html>, който е идентичен за всички настоящи и бъдещи версии на стандартите, тъй като HTML сега е достатъчно обратно съвместим, за да позволи прогресивно развитие.

Накратко, всичко, което съвременният браузър прави с doctype в днешно време, е да реши дали да анализира в режим „супа от етикети“, „странности“, или „съвместим със стандартите режим“. Поддържаните елементи, които след това намира с този анализатор, нямат нищо общо с doctype.

  -  person Slickelito    schedule 13.02.2013
comment
искам събитието да се задейства...   -  person Ron    schedule 13.02.2013


Отговори (2)


Можете да направите същото в onErrorListener, както правите в onCompletionListener, в onCompletion настройвате видеоклипа на следващия (някак си не знам вашата реализация), след което в on error използвайте същия код (най-вероятно преработен в друга функция). ПР.:

onError(....)
    if(error = watever error you need)
    functionNextVideo()

имайте предвид, че горното е псевдо код.

Но освен това onCompletionListener няма да се задейства, освен ако видеоклипът не завърши, както се предполага.

person Raigex    schedule 13.02.2013

Както се намира в източника на публичния интерфейс OnErrorListener:

@return True if the method handled the error, false if it didn't.
         * Returning false, or not having an OnErrorListener at all, will
         * cause the OnCompletionListener to be called.
         */
        boolean onError(MediaPlayer mp, int what, int extra);

така че onCompletionListener ще бъде извикан, ако върнете false или не обработите обратното извикване.

person swisscoder    schedule 08.08.2014