在Windows Phone上的页面之间导航之后:"参数异常:值不在预期范围内"

时间:2015-10-08 13:27:50

标签: .net windows-runtime windows-phone-8.1 windows-phone

我有一个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)

1 个答案:

答案 0 :(得分:0)

您正在将videoName传递给SaveRecordAsync函数,但您尝试使用某些&#34; tempFile&#34;运行CreateFromFileAsync。你没有包含在任何地方。