Я застрял при попытке получить потоки из видео на iPhone. Это Xamarin.Forms
проект.
Во-первых, я получил VideoURL PHAsset.RequestContentEditingInput
вот так
PHAsset videoAsset;
...
videoAsset.RequestContentEditingInput(new PHContentEditingInputRequestOptions(), (contentEditingInput, dictInfo) =>
{
if (videoAsset.MediaType == PHAssetMediaType.Video)
{
AVFoundation.AVUrlAsset avUrlAsset = (AVFoundation.AVUrlAsset)contentEditingInput.AvAsset;
string VideoURL = avUrlAsset.Url.AbsoluteString;
VideoURL выглядит как file:///var/mobile/Media/DCIM/108APPLE/IMG_8078.MOV
.
Тогда я хочу получить видеопоток VideoURL
, используя StreamReader
, как это
var streamReader = new StreamReader(videoURL);
или используя File.Open, как это
var fileStream = File.Open(videoURL, FileMode.Open);
Но оба метода вызовут исключение System.IO.DirectoryNotFoundException и произнесут
Не удалось найти часть пути /private/var/containers/Bundle/Application/BC860AE6-B358-405D-B2CD-47ECF853F365/test.app/file:/var/mobile/Media/DCIM/108APPLE/IMG_8078.MOV
.
Как видите, он автоматически добавил путь к моему приложению перед URL-адресом видео и, таким образом, не может найти видеофайл.
Итак, мой вопрос, как получить поток по абсолютному пути видео? Спасибо.