locked
WebClient数据下载不了 RRS feed

  • 问题

  • 为啥mediaElement.Source直接设置URI可以播放,用webclient下载不了。   有没有途径把mediaElement缓冲的mp3数据存储到本地?

    2011年12月20日 2:50

答案

  • 你好,

    以下是我在本地测试的代码,通过webclient下载的音频可以正常播放,请跟你使用的代码比较一下,看是哪里的问题。

            private void Save_Click_1(object sender, RoutedEventArgs e)
            {
                WebClient wc = new WebClient();
                wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
                wc.OpenReadAsync(new Uri("YourAudioLink"));
            }
     
            void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
            {
                using (var store = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (var fs = new IsolatedStorageFileStream("mp3", System.IO.FileMode.Create, store))
                    {
                        byte[] bytesInStream = new byte[e.Result.Length];
                        e.Result.Read(bytesInStream, 0, (int)bytesInStream.Length);
                        fs.Write(bytesInStream, 0, bytesInStream.Length);
                        fs.Flush();
                        mediaElement1.SetSource(fs);
                        mediaElement1.Play();
                    }
                }
            }
    http://timheuer.com/blog/archive/2010/08/16/download-and-store-media-for-playback-in-windows-phone-7-using-mediastreamsource.aspx
    • 已编辑 Shi Ding 2011年12月28日 9:42
    • 已标记为答案 Shi Ding 2011年12月30日 6:18
    2011年12月28日 9:38