using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Navigation; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using PhoneApp4.Resources; using Microsoft.Phone.Tasks; using System.Windows.Media; using System.Windows.Media.Animation; using Windows.Storage.Pickers; using Windows.Storage.FileProperties; using System.IO; using Windows.Storage; using Windows.Storage.Streams; namespace PhoneApp4 { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { WebBrowserTask wbt = new WebBrowserTask(); wbt.Uri = new Uri("http://www.facebook.com", UriKind.Absolute); wbt.Show(); } private void Play_Click(object sender, RoutedEventArgs e) { medias.Play(); } private void Pause_Click(object sender, RoutedEventArgs e) { medias.Pause(); } private void Stop_Click(object sender, RoutedEventArgs e) { medias.Stop(); } private async void Browse_Click(object sender, RoutedEventArgs e) { var openPicker = new FileOpenPicker(); // openPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary; openPicker.FileTypeFilter.Add(".mp3"); var file = await openPicker.PickSingleFileAsync(); var stream = await file.OpenAsync(FileAccessMode.Read); stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); if (null != file) { medias.SetSource(stream, file.ContentType); } } } }
代码是audio播放器,我想从存储中select文件。 在以上代码中,以下代码会生成错误
if (null != file){ medias.SetSource(stream, file.ContentType); }
错误是: – 方法“SetSource”没有重载需要2个参数。 任何人都可以帮助我? Plzz还有,如果有其他的错误让我知道这一点。
正如FileOpenPicker的MSDN所说:
Windows Phone 8
此API仅在本机应用程序中受支持。
编辑
正如ToniPetrina所言,可能会有更多关于你的代码的问题。 我指出那个可能做不到你想做的事的人。 正如它在这里也提到 :
WP8中的FileOpenPicker只是一个Windows运行时包装器,可以从托管的PhotoChooserTask访问相同的照片库功能。 目前我们不支持选择照片以外的文件或从其他商店应用程序中选择文件。
AFAIK很难将文件从MediaLibrary复制到IsolatedStorage。 如果有人展示了如何去做,我也会很感激。