私たちのアプリはビデオ/オーディオ ベースのアプリで、すべてのメディアを Windows Azure にアップロードしています。
ただし、ローカルで再生できるように、ユーザーがオーディオ/ビデオ ファイルをオンデマンドでダウンロードできるようにする必要があります。
したがって、オーディオ/ビデオ ファイルをプログラムでダウンロードし、IsolatedStorage に保存する必要があります。
オーディオ/ビデオごとに Windows Azure メディア ファイル アクセス URL があります。しかし、メディアファイルをダウンロードする最初のステップで行き詰まっています。
私はグーグルでこの記事に出くわしましたが、 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();
}