2013-05-13 8 views
7

私はC#で書かれたWindowsメトロアプリを持っています。ここでシステムファイルへの保存ファイル?

は、私は地元の音楽ライブラリからファイルを選択するために使用していたコードです:

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 
} 

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

答えて

8

SetSourceと一緒にファイルストリームを使用する必要があります。 How to play a local media file using a MediaElementから:

var file = await openPicker.PickSingleFileAsync(); 
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
myMediaElement.SetSource(stream, file.ContentType); 
+0

本当に非常に助かりました! –

関連する問題