7

C# で記述された Windows Metro アプリがあります。

ローカルの音楽ライブラリからファイルを選択するために使用しているコードは次のとおりです。

FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.MusicLibrary;
openPicker.FileTypeFilter.Add(".mp3");
openPicker.FileTypeFilter.Add(".wav");

StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
   myMediaElement.Source = file; //error here
}
else
{
    //error here
}

MediaElement のソースを変更するために使用されたものに変換することはStorageFileできません。System.Uriファイルを uri リンクにするにはどうすればよいですか? ファイルの場所がどこにあるかUri("...")だけを受け入れるようです。String

4

1 に答える 1

8

とともにファイル ストリームを使用する必要がありますSetSource。MediaElementを使用してローカル メディア ファイルを再生する方法から:

var file = await openPicker.PickSingleFileAsync();
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
myMediaElement.SetSource(stream, file.ContentType);
于 2013-05-13T20:34:45.590 に答える