Открытие потока RTSP занимает несколько секунд. Можно ли «передать» открытый MediaPlayer (или Media?) Из VideoView1 в VideoView2?
Когда я делаю это без остановки (или с паузой), он не может получить вывод: Код:
//_mediaPlayer.Stop(); // stopping restart rtsp decoding on play
_videoView.MediaPlayer = null;
mainLayout.RemoveView(_videoView);
_videoView.Dispose();
_videoView = new VideoView(this) { MediaPlayer = _mediaPlayer };
mainLayout.AddView(_videoView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent));
//_videoView.MediaPlayer.Play();
04-14 17:16:10.504 E/EGL_emulation( 4527): tid 4573: swapBuffers(498): error 0x300d (EGL_BAD_SURFACE)
04-14 17:16:10.537 D/EGL_emulation( 4527): eglMakeCurrent: 0x8804f800: ver 2 0 (tinfo 0x847ad330)
04-14 17:16:10.545 D/EGL_emulation( 4527): eglMakeCurrent: 0x8804f800: ver 2 0 (tinfo 0x847ad330)
04-14 17:16:10.546 E/EGL_emulation( 4527): egl_window_surface_t::swapBuffers called with NULL buffer
04-14 17:16:10.546 E/EGL_emulation( 4527): tid 4573: swapBuffers(498): error 0x300d (EGL_BAD_SURFACE)
Когда я останавливаю MediaPlayer, создайте новый VideoView с этим MediaPlayer и затем воспроизведите - он снова открывается. Есть ли возможность сделать это без остановки / игры?