MediaElement で Web からビデオを再生し、同時にビデオもダウンロードしたいと考えています。
Stream をソースとして設定して実行しようとしましたが、うまくいきません。それは可能ですか?
編集:
これが今のところ私がしていることです。問題は、ファイルのダウンロードが終了したときではなく、最初から再生を開始したいということです:
public void StartDownloadFile(string aVideoUrl,string aId)
{
this.VideoUrl = aVideoUrl;
this.id = aId;
startPlaying = false;
WebClient webClient = new WebClient();
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
webClient.OpenReadAsync(new Uri(this.VideoUrl));
}
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
try
{
if (e.Result != null)
{
#region Isolated Storage Copy Code
isolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication();
bool checkQuotaIncrease = this.IncreaseIsolatedStorageSpace(e.Result.Length);
string VideoFile = "VideoCache\\" + this.id + ".wmv";
isolatedStorageFileStream = new IsolatedStorageFileStream(VideoFile, FileMode.Create, isolatedStorageFile);
long VideoFileLength = (long)e.Result.Length;
byte[] byteImage = new byte[VideoFileLength];
e.Result.Read(byteImage, 0, byteImage.Length);
isolatedStorageFileStream.Write(byteImage, 0, byteImage.Length);
#endregion
callbackFinish();
}
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
}
}
void webClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
try
{
callbackDidUpdate((double)e.ProgressPercentage);
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
}
}