Как сохранить файл MP3 из Интернета на Windows Phone 7? - PullRequest
1 голос
/ 14 февраля 2012

Я пытаюсь загрузить и сохранить файл .mp3 из Интернета, но застрял с потоком по внешней ссылке:

private void saveSound()
    {
        IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
        using (var fs = new IsolatedStorageFileStream("123.mp3", FileMode.Create, iso))
        {
            //Here should be this Stream from the Internet...
            //Uri: "http://my-site.com/mega-popular-song.mp3"
            StreamResourceInfo rs = new StreamResourceInfo(stream, "audio/mpeg");
            int count = 0;
            byte[] buffer = new byte[4096];
            while (0 < (count = rs.Stream.Read(buffer, 0, buffer.Length)))
            {
                fs.Write(buffer, 0, count);
            }
            fs.Close();

        }
    }

Как должен выглядеть этот поток?Каков наилучший способ загрузки и сохранения файлов .mp3?

1 Ответ

1 голос
/ 16 февраля 2012

Я уверен, эта статья доставит вас туда.Как упоминал Боб, вам придется использовать WebClient.В основном это код, который творит чудеса:

wc.OpenReadCompleted += ((s, args) =>
{
    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    {
        if (store.FileExists(fileName))
            store.DeleteFile(fileName);

        using (var fs = new IsolatedStorageFileStream(fileName, FileMode.Create, store))
        {
            byte[] bytesInStream = new byte[args.Result.Length];
            args.Result.Read(bytesInStream, 0, (int)bytesInStream.Length);
            fs.Write(bytesInStream, 0, bytesInStream.Length);
            fs.Flush();
        }
    }
});

Но я бы прочитал статью полностью, чтобы полностью понять, что происходит.Надеюсь, это поможет!

...