0

私はKnownFolders.VideoLibraryフォルダーにmp4ビデオを持っており、MediaElement Control(MyPlayer)を介して次のコードでストリームとして再生できます。

var file = await KnownFolders.VideosLibrary.GetFileAsync("video.mp4");
var stream = await file.OpenAsync(FileAccessMode.Read);
MyPlayer.SetSource(stream, file.FileType);

しかし、Sourceプロパティを使用して再生させることはできません。

var file = await KnownFolders.VideosLibrary.GetFileAsync("video.mp4");
MyPlayer.Source = new Uri(file.Path, UriKind.Absolute);

ただし、Sourceプロパティはローカルアセットファイルに対して機能します。

MyPlayer.Source = new Uri(this.BaseUri, "Assets/video.mp4");

なぜ何かアイデアはありますか?また、ファイルがVideoLibraryフォルダーにある場合は常に、ビデオをXAMLのSourceプロパティにバインドする際に問題が発生します。ファイルがアプリのアセットである場合にうまく機能します。

ライブラリ内のビデオにストリームとSetSourceを使用する必要がある場合、ViewModelからバインドするにはどうすればよいですか?

4

1 に答える 1

0

ContentControl を使用してこの問題を回避し、代わりに MediaElement をそれにバインドしました。私はそれについて短いブログ記事を書きました。

Windows 8 ストア アプリで MediaElement を ViewModel にバインドする

于 2012-12-17T11:55:33.230 に答える