我们的应用是一个基于视频/音频的应用程序,我们已经将所有媒体上传到Windows Azure。
然而,需要方便用户按需下载音频/视频文件,以便他们可以在本地播放。
因此,我需要编写程序来下载音频/视频文件,并将其保存在隔离存储中。
对于每个音频/视频,我们都有Windows Azure媒体文件访问URL。但是,我卡在了下载媒体文件的第一步。
我搜索了谷歌,并阅读了this article,但是对于WebClient,我无法使用DownloadFileAsync函数。
但是,我尝试了它的其他函数DownloadStringAsyn,并且下载的媒体文件是以字符串格式存在的,但不知道如何将其转换为音频(wma)/视频(mp4)格式。请建议我如何继续?是否有其他下载媒体文件的方法?
以下是我使用的示例代码。
然而,需要方便用户按需下载音频/视频文件,以便他们可以在本地播放。
因此,我需要编写程序来下载音频/视频文件,并将其保存在隔离存储中。
对于每个音频/视频,我们都有Windows Azure媒体文件访问URL。但是,我卡在了下载媒体文件的第一步。
我搜索了谷歌,并阅读了this article,但是对于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();
}