2015-07-13 47 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); 

} 
相關問題