I was downloading a file from server using Background Transfer Service
thru following code:
private void ProcessTransfer(BackgroundTransferRequest transfer)
{
switch (transfer.TransferStatus)
{
case TransferStatus.Completed:
if (transfer.StatusCode == 200 || transfer.StatusCode == 206)
{
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
filename = transfer.Tag;
if (isoStore.FileExists(filename)) isoStore.DeleteFile(filename);
if (isoStore.FileExists(transfer.DownloadLocation.OriginalString)) isoStore.MoveFile(transfer.DownloadLocation.OriginalString, filename);
MoveMp3ToMusicHub();
}
}
break;
}
}
And I was trying to move downloaded mp3 file to Music Hub using following code, but got unexpected exception.
private void MoveMp3ToMusicHub()
{
MediaLibrary lib = new MediaLibrary();
Uri location = new Uri("isostore:/" + filename, UriKind.Absolute);
SongMetadata metadata = new SongMetadata
{
GenreName = "Super Hit Songs",
Name = "Song 1",
AlbumName = "My Collections",
AlbumArtUri = new Uri("/Assets/ApplicationIcon.png", UriKind.RelativeOrAbsolute)
};
MediaLibraryExtensions.SaveSong(lib, location, metadata, SaveSongOperation.CopyToLibrary);
}
The expection is: