Работя със стрийминг на видео и искам да променя от един източник в друг динамично. Първо зададох видеоразширите към VideoView
view.setVideoURI(myUri);
И знам, че съм способен да го променя след това, като го направя (това е в метода на PrePare, но може да отиде някъде другаде, където имам достъп до MediaPlayer).
@Override
public void onPrepared(MediaPlayer mp)
{
Uri newUri = getOtherUri();
mp.reset();
mp.setDataSource(getApplicationContext(), newUri);
mp.prepare();
mp.start();
}
Въпросът е, че искам да променя източника безнатискане на MediaPlayer (не искам да смущавам потребителя). Опитах се да създам нов VideoView с новия Uri и след това да сменя един обект за другия, а също и с медийния плейър. Обаче, нищо от това не изглежда да работи. Възможно ли е да заменим видеоклип, докато играе в Android? Всички коментари ще бъдат оценени.
Отговори:
0 за отговор № 1Няма възможност за нулиране на видеото без използване mediaplayer.stopPlayback()
или mediaplayer.reset
, Причината е, че; предишният обект на медийния плейър трябва да бъде пуснат, преди да можете да възпроизвеждате друго видео.
I want to change the source without reseting the mediaPlayer (I do not want to disturb the user).
Е, това не може да бъде постигнато, тъй като мултиплейърът трябва да бъде нулиран. Така че ще има забавяне при промяната на видеоклиповете. И за да ви удовлетвори, можете да видите това поведение във всяко приложение на видеоплейъра youtube
или mxplayer
.
Така че единственото нещо, което можете да направите, е да покажете progressbar
докато зареждате или променяте видео.
Надявам се, че помага. Cheeers. :)