我有一个Windows Phone 8.1的小项目 现在有两个页面:RecordPage和SavePage。我必须在它们之间传输VideoRecorder类的对象。
在RecordPage中:
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
SavePage savePage = e.Content as SavePage;
if (savePage != null)
{
savePage.videoRecorder = videoRecorder;
}
}
在SavePage中:
async private void SaveVideo(object sender, RoutedEventArgs e)
{
progressRing.IsActive = true;
await videoRecorder.SaveRecordAsync(textBox_VideoName.Text);
progressRing.IsActive = false;
}
在VideoRecorder中:
........
private StorageFile tempFile;
........
async public Task<bool> SaveRecordAsync(string videoName)
{
GC.Collect();
MediaClip clip = await MediaClip.CreateFromFileAsync(tempFile);
int fullDuration = ........
应用程序在CreateFromFileAsync(tempFile)
上与"Argument Exception:Value does not fall in the expected range"
崩溃。
当我尝试在记录页面上使用随机名称运行VideoRecorder.SaveRecordAsync
时,它运行正常。但是,当我将RecordPage.videoRecorder
转移到SavePage.videoRecord
并运行SaveRecordAsync
时,它会崩溃。
我在设备上运行应用程序(Lumia 635)
答案 0 :(得分:0)
您正在将videoName传递给SaveRecordAsync函数,但您尝试使用某些&#34; tempFile&#34;运行CreateFromFileAsync。你没有包含在任何地方。