FIle Picker的Windows 8手机应用程序代码出错

时间:2014-02-04 09:23:32

标签: c# windows xaml windows-phone-8

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);


}
}
}
}

代码是音频播放器,我想从存储中挑选文件。 在上面的代码中,代码生成错误

if (null != file){  medias.SetSource(stream, file.ContentType); }  

错误是: - 方法'SetSource'没有重载需要2个参数。 任何人都可以帮助我吗? Plzz 如果有任何其他错误让我知道这一点。

1 个答案:

答案 0 :(得分:3)

正如MSDN for FileOpenPicker所说:

  

Windows Phone 8
  此API仅在本机应用中受支持。

修改

正如ToniPetrina所说,您的代码可能会有更多问题。我指出了一个可能无法做你想做的事。因为它也是mentioned here

  

WP8中的FileOpenPicker只是一个Windows Runtime包装器,它通过可从托管的PhotoChooserTask访问的相同照片库功能。我们目前不支持选择照片以外的文件或从其他商店应用程序中选择文件。

AFAIK很难将文件从MediaLibrary复制到IsolatedStorage。如果有人展示了如何做,我也将不胜感激。