Ik heb een vreemde situatie. Ik gebruik NexPlayer om streaming video weer te geven in de openGL-modus. Bovenop het weergavegebied voor de streamingvideo (een framelayout), geef ik een ProgressBar weer in de onbepaalde modus wanneer de videoplayer buffert, vergelijkbaar met wat de YouTube-app doet.
Dit werkt prima tot het moment dat de speler stopt met bufferen en ik probeer de voortgangsbalk van het scherm te verwijderen. De voortgangsbalk stopt met animeren, maar blijft op het scherm staan, alsof het een watermerk in de video is.
De manier waarop ik het probeer te verwijderen, is door de zichtbaarheid van de voortgangsbalk te veranderen; Ik heb zowel View.INVISIBLE als View.GONE geprobeerd, maar geen van beide werkt.
Ik heb ook geprobeerd de voortgangsbalk in een andere lay-out in te pakken en de zichtbaarheid van die container te wijzigen, maar het mocht niet baten.
Ik merkte dat wanneer ik het apparaat draai, de voortgangsbalk verdwijnt.
Hieronder vindt u de xml-lay-out voor de speleractiviteit. De surfaceview daarin wordt alleen gebruikt als het apparaat OpenGL 2.0 niet ondersteunt.
Heeft iemand enig idee hoe je van deze ProgressBar af kunt komen?
Bij voorbaat dank!
<?xml version="1.0" encoding="utf-8"?>
EDIT: de code die de zichtbaarheid van de weergave verandert:
@Override
public void onBuffering(int progress_in_percent) {
Log.d(TAG, "Buffering " + progress_in_percent + " %");
}
@Override
public void onBufferingBegin() {
Log.d(TAG, "Buffering begin");
loadingContainer.setVisibility(View.VISIBLE);
}
@Override
public void onBufferingEnd() {
Log.d(TAG, "Buffering end");
loadingContainer.setVisibility(View.GONE);
}
Deze methoden worden aangeroepen vanuit het NexPlayer-framework. Ik weet zeker dat ze worden gebeld omdat ik de uitvoer in de logs krijg.