Есть ли способ изменить размер libVLC MediaPlayer после того, как мое приложение Maui вернется на передний план на AndroAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Есть ли способ изменить размер libVLC MediaPlayer после того, как мое приложение Maui вернется на передний план на Andro

Сообщение Anonymous »

Поэтому я использую пакет libVLC для своего приложения .Net MAUI для потоковой передачи некоторых мультимедиа на планшете Android. В качестве ориентира я использовал образец libVLC Maui отсюда: https://code.videolan.org/videolan/LibV ... .x/samples

Он работает отлично, но, к сожалению, я не могу найти решение, позволяющее заставить медиа работать должным образом после сворачивания приложения и возврата его на передний план. Не знаю почему, но похоже, что плеер не предназначен для возобновления работы после разрушения поверхности. Вот почему я попытался удалить объекты Mediaplayer и VLC в методе жизненного цикла OnSleep и восстановить их в OnResume.

MainViewModel.cs:

Код: Выделить всё

        public void OnSleep()
{
MediaPlayer.Dispose();
LibVLC.Dispose();
}
public void OnResume()
{
LibVLC = new LibVLC(enableDebugLogs: true);
using var media = new Media(LibVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"));

MediaPlayer = new Shared.MediaPlayer(LibVLC)
{
Media = media
};
MediaPlayer.Play();
}
С помощью App.xaml.cs:

Код: Выделить всё

        protected override void OnSleep()
{
base.OnSleep();
Page page = Shell.Current.CurrentPage;
if (page.GetType().Equals(typeof(MainPage)))
{
var mainpage = (MainPage)Shell.Current.CurrentPage;
var mainvm = (MainViewModel)mainpage.BindingContext;
mainvm.OnSleep();
}
}
protected override void OnResume()
{
base.OnResume();
Page page = Shell.Current.CurrentPage;
if (page.GetType().Equals(typeof(MainPage)))
{
var mainpage = (MainPage)Shell.Current.CurrentPage;
var mainvm = (MainViewModel)mainpage.BindingContext;
mainvm.OnResume();
}
}
Он работает так, как задумано, но размер медиаплеера внезапно меняется следующим образом:

введите описание изображения здесь
Изменить размер или положение медиаплеера с помощью .AspectRatio или .Scale больше невозможно.

Есть ли способ сохранить работу медиаплеера в фоновом режиме или способ отобразить медиаплеер с исходным положением и размером после поверхность разрушается и застраивается заново?

Подробнее здесь: https://stackoverflow.com/questions/798 ... mes-back-t
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»