2015-07-13 1 views
0

Я пытаюсь загрузить аудио и сохранить в изолированное хранилище и сохранить в эмулятор.Невозможно скачать аудио с помощью MediaLibraryExtensions.SaveSong в телефоне Windows 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», оно сохраняется как «тест», а продолжительность всегда 0: 0: 00 независимо от первоначальной продолжительности.

В файл манифеста также добавлена ​​возможность аудио.

Ниже приведен снимок экрана при сохранении песни, в которой есть много исключений.

enter image description here

Пожалуйста, исправьте, если что-то не так с кодом. Заранее спасибо.

ответ

0

При добавлении строки lib.saveong работал отлично, а не используя 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); 

}