Используя Microsoft Graph .NET SDK, я пытаюсь получить доступ к потоку контента DriveItem, который является видео, чтобы его можно было воспроизвести в UWP MediaPlayerElement. Однако при развертывании MediaPlayerElement
отображает:
'Ошибка: неподдерживаемый тип видео или неверный путь к файлу'.
Я могу получить доступ к Microsoft Graph с помощью Windows Community Toolkit и получить разрешение Files.ReadWrite.All
. Я также получил DriveItem
id
как требуется.
private async void LoadVideo(DriveItem driveItem) {
var graphClient = MicrosoftGraphService.Instance.GraphProvider;
using(Stream responseStream = await graphClient
.Me
.Drive
.Items[driveItem.Id]
.Content
.Request().GetAsync()) {
var memoryStream = responseStream as MemoryStream;
if (responseStream != null) {
// Breakpoint on this line is reached after
// a substantial delay on the using statement
// line. At this line, the memoryStream has a value of 89400353.
MyMPE.Source = MediaSource
.CreateFromStream(memoryStream
.AsRandomAccessStream(), "video/mp4");
} else {
...
}
}
}
Оператор if всегда выполняется. Когда я помещаю точку останова в начало строки MyMPE.Source…
, оператор using
существенно задерживается до того, как точка останова будет достигнута. MediaPlayerElement затем отображает ошибку «Ошибка: неподдерживаемый тип видео или неверный путь к файлу» в нижней части проигрывателя.