У меня проблемы с получением локального видео для полного воспроизведения на iOS с использованием функции MediaManager * CrossMediaManager.Current.Play()
.По сути, видео начнет воспроизводиться, а затем кадр замерзнет примерно на секунду, и звук будет продолжаться до конца.Как только мультимедиа заканчивается, videoView перейдет к последнему кадру видео и оставит его там (что является нормальным поведением).Когда я тестирую приложение на Android, видео и аудио воспроизводятся нормально.Мои видеофайлы имеют длину менее 10 секунд и всего несколько МБ.
Вот пример моего кода, который обрабатывает размещение файла в месте, доступном для CrossMediaManager, а затем вызывает его функцию воспроизведения.
// Copy the file out of Resources/Assets into the cache folder
using (var stream = await FileSystem.OpenAppPackageFileAsync("banana.mp4")){
// Get the location for the copy of the file
var cacheDirectory = FileSystem.CacheDirectory;
cacheDirectory += "/video.mp4";
using (Stream file = File.Create(cacheDirectory))
{
// Size of the buffer to use while writing
byte[] buffer = new byte[8 * 1024];
int len;
while ((len = stream.Read(buffer, 0, buffer.Length)) > 0)
{
file.Write(buffer, 0, len);
}
}
}
// Get the path to the video file
var videoClip = FileSystem.CacheDirectory + "/video.mp4";
// Play the video file
await CrossMediaManager.Current.Play("file://" + videoClip, MediaFileType.Video);