【发布时间】:2021-12-20 07:20:02
【问题描述】:
视频正常播放,但如果你打开另一个应用程序并返回,vlc 将显示黑屏,只有声音。 (Android 8.0.0,nuget 包的最新版本)
LibVLC libVLC = new LibVLC("--preferred-resolution=-1", " --log-verbose=3", "--no-gnutls-system-trust");
MediaPlayer mediaPlayer;
Media media = new Media(libVLC, playerUrl, FromType.FromLocation);
VideoView1.MediaPlayer = mediaPlayer;
mediaPlayer.Play();
【问题讨论】:
-
当你回到你的应用程序时,相同的代码会再次执行吗?如果是这样,您已经启动了第二个媒体播放器,但没有告诉第一个停止。第一个(您不再看到)仍然有视频。我不熟悉媒体播放器,但基本概念是在您的 Xamarin.Android 项目的应用程序(或者可能是 mainactivity)的 OnPause 中,您需要“清理”活动资源(停止视频,也可能是 Dispose),然后保存信息(可能在一个 Bundle 中)告诉您的应用它处于什么“状态”。如果您想在 OnCreate 或 OnResume 中返回到视频中的相同位置。
-
@ToolmakerSteve,不,媒体播放器在您单击元素时创建一次。是的,创建一个新的媒体播放器可能会有所帮助,但这是一个非常糟糕的主意。谢谢您的回复
-
我并不是建议您创建一个新的媒体播放器。相反,我是询问,如果您对代码进行断点,该代码是否会在返回应用程序时再次执行。 (如果确实如此,那么将创建一个新玩家,因此您需要执行我建议的操作。)如果没有,那就太好了。无论如何,症状表明离开应用程序并返回它会导致媒体播放器处于错误状态。修复必须涉及当您的应用进入后台时“做某事”,然后当它恢复时“做其他事情”。
-
可能是因为应用程序恢复时“表面”发生了变化。可能会调查android级别的讨论,例如stackoverflow.com/q/6347924/199364。
-
有人声称它适用于 android 媒体播放器。不知道这是否适用于vlc:stackoverflow.com/a/34854913/199364
标签: c# xamarin xamarin.forms vlc libvlcsharp