2015-07-13 76 views
0

我正尝试下载音频并保存到独立存储并保存到模拟器。无法使用MediaLibraryExtensions.SaveSong在Windows Phone 8中下载音频

我试着用下面的代码。

WebClient m_webClient = new WebClient(); 
m_webClient.OpenReadAsync(fileUri); 
m_webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_ImageOpenReadCompleted); 
m_webClient.AllowReadStreamBuffering = true; 


private static void webClient_ImageOpenReadCompleted(object sender, OpenReadCompletedEventArgs e) 
{ 
     var isolatedfile = IsolatedStorageFile.GetUserStoreForApplication(); 
     using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(_fileName, System.IO.FileMode.Create, isolatedfile)) 
     { 
      byte[] buffer = new byte[e.Result.Length]; 
      while (e.Result.Read(buffer, 0, buffer.Length) > 0) 
      { 
       stream.Write(buffer, 0, buffer.Length); 
      } 
     } 
     SaveFileMP3(_fileName); 
} 

private static void SaveFileMP3(string _fileName) 
{ 
     MediaLibrary lib = new MediaLibrary(); 
     Uri songUri = new Uri(_fileName, UriKind.RelativeOrAbsolute); 
     MediaLibraryExtensions.SaveSong(lib, songUri, null, SaveSongOperation.CopyToLibrary); 

} 

我面对的问题是,音频被保存到模拟器,但没有扩展名。假设文件名“test.MP3”,它保存为“test”,持续时间始终为0:0:00,与原始持续时间无关。

我已经在清单文件中添加了音频功能。

以下是保存歌曲的截图,其中有很多例外。

enter image description here

请更正,如果事情是错的代码。提前致谢。

回答

0

通过添加lib.savesong行完美工作,而不是使用mediaLibraryExtensions。

private static void SaveFileMP3(string _fileName) 
{ 
    MediaLibrary lib = new MediaLibrary(); 
    Uri songUri = new Uri(_fileName, UriKind.RelativeOrAbsolute); 
    lib.SaveSong(songUri, null, SaveSongOperation.CopyToLibrary); 
    //MediaLibraryExtensions.SaveSong(lib, songUri, null, SaveSongOperation.CopyToLibrary); 

} 
相关问题