我们的应用程序是基于视频/音频的应用程序,我们已将所有媒体上传到 Windows Azure 上。
但需要方便用户点播下载音视频文件,以便在本地播放。
所以我需要以编程方式下载音频/视频文件并将其保存在IsolatedStorage中。
我们有每个音频/视频的 Windows Azure 媒体文件访问 URL。但我陷入了下载媒体文件的第一步。
我用谷歌搜索并发现了本文 http://www.c-sharpcorner.com/uploadfile/kirtan007/how-to-download-file-and-showing-its-progress-in-progress-bar/,但对于 WebClient,没有我可以使用的函数 DownloadFileAsync。
但是我尝试了它的另一个功能DownloadStringAsyn,下载的媒体文件是字符串格式,但不知道如何将其转换为音频(wma)/视频(mp4)格式。请建议我,我该如何继续?还有其他方式下载媒体文件吗?
这是我使用的示例代码
private void ApplicationBarMenuItem_Click_1(object sender, EventArgs e)
{
WebClient mediaWC = new WebClient();
mediaWC.DownloadProgressChanged += new DownloadProgressChangedEventHandler(mediaWC_DownloadProgressChanged);
mediaWC.DownloadStringAsync(new Uri(link));
mediaWC.DownloadStringCompleted += new DownloadStringCompletedEventHandler(mediaWC_DownloadCompleted);
}
private void mediaWC_DownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Cancelled)
MessageBox.Show("Downloading is cancelled");
else
{
MessageBox.Show("Downloaded");
}
}
private void mediaWC_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
statusbar.Text = status= e.ProgressPercentage.ToString();
}
要下载二进制数据,请使用[WebClient.OpenReadAsync][1]
。您可以使用它来下载字符串数据以外的数据。
var webClient = new WebClient();
webClient.OpenReadCompleted += OnOpenReadCompleted;
webClient.OpenReadAsync(new Uri("...", UriKind.Absolute));
private void OnOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)