2015-10-04 49 views
0

我想播放UniversalWindowsApp中的一些audiofiles,以便只能找到路径。这是我当前的代码:在Windows通用应用程序中播放(背景)音频失败

//exception in this line: 
var file = await StorageFile.GetFileFromPathAsync(@"C:\Users\myuser\Music\someartist\album\01. Title.mp3"); 

var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
mediaControl.SetSource(stream, file.ContentType); 
mediaControl.Play(); 

我也试过这个代码片段:

mediaControl.Source = new Uri(@"C:\Users\myuser\Music\someartist\album\01. Title.mp3", UriKind.RelativeOrAbsolute); 

但两者的代码抛出一个异常,如下所示:

访问被拒绝。 (异常来自HRESULT:0X80070005(E_ACCESSDENIED))

这是不是真的位于第一个(意味着它然后立即跳转到UnhandledException),因为它打破的中间线(从App.g.i.cs/InitializeComponent()复制):

UnhandledException += (sender, e) => 
{ 
    if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break(); 
}; 

如果我使用的示例代码msdn它的工作原理:

async private void SetLocalMedia() 
{ 
    var openPicker = new Windows.Storage.Pickers.FileOpenPicker(); 
    openPicker.FileTypeFilter.Add(".mp3"); 
    var file = await openPicker.PickSingleFileAsync(); 

    // mediaControl is a MediaElement defined in XAML 
    if (null != file) 
    { 
     var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
     mediaControl.SetSource(stream, file.ContentType); 
     mediaControl.Play(); 
    } 
} 

这显然不会和我一样EXPEC t FileOpenPicker - 我不会显示对话框,因为我已经有了文件路径。

问题是,如何在UniversalWindowsApp中播放某些音频?

在此先感谢!

+0

异常清楚地说,你没有访问该文件。对于'File.Open'或'FileStream',你有各种选择来打开一个可以提供正确访问的文件,但是所谓的'StorageFile.GetFileFromPathAsync'没有任何选项。这意味着你不能坚持这种方法。 – Hopeless

回答

相关问题