Мне нужно сделать снимок видео в iOS, которое я получаю с веб-камеры «rtsp: // user: password@192.168.8.144: 88 / videoMain», используя библиотеку LibVLCSharp в моем проекте Xamarin.Forms.Но этот метод ничего не делает и возвращает true как результат.
Я попытался получить изображение из сохраненного пути к потоку, но после этого поток теряет значение.И я ищу в телефоне, и не нахожу новое изображение.Я думаю, что это ошибка в библиотеке, или я не понимаю, как она работает.
Я создаю объект для душа веб-камеры:
_libvlc = new LibVLC();
CamMediaPlayer = new MediaPlayer(_libvlc) { Mute = true };
CamMediaPlayer.Play(new Media(_libvlc, VIDEO_URL, FromType.FromLocation));
Затем я создаю кнопку с командой, чтобы сделать снимок:
private void SnapshotCommandExecute(object parameters)
{
if (CamMediaPlayer != null)
{
string fileName = "01.jpg";
string path = DependencyService.Get<IFileService>().GetMyPicturesPath(fileName);
try
{
CamMediaPlayer.SnapshotTaken += CamMediaPlayer_SnapshotTaken;
//bool result = CamMediaPlayer.TakeSnapshot(0, fileName, 0, 0);
bool result = CamMediaPlayer.TakeSnapshot(0, path, 100, 100);
Assembly assembly = typeof(CameraViewModel).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream(path); // is null anytime
if (stream != null)
{
DependencyService.Get<IFileService>().SavePhotosWithStream(stream);
}
if (result) // If I see video, result after save is true
{
Application.Current.MainPage.DisplayAlert(
"Image saved", "Image saved", Properties.Resources.Ok);
}
else
{
Application.Current.MainPage.DisplayAlert(
"Image failed", "Image failed", Properties.Resources.Ok);
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}
Я получаю событие «SnapshotTaken» с путем к файлу.Но в этом месте я не вижу никаких файлов.
Я не получаю ошибок, все в порядке, но у меня нет изображения.