修剪视频文件WPF C#

时间:2015-02-23 22:15:27

标签: c# wpf windows-phone-8.1

我对C#相当新,我试着制作一个Windows手机应用程序,在应用程序中我需要它来减少视频文件。经过几个小时的搜索和询问周围有人向我指出了这一点 https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh868176.aspx

async void TrimVideoFile()
 {
Windows.Storage.StorageFile source;
Windows.Storage.StorageFile destination;

var openPicker = new Windows.Storage.Pickers.FileOpenPicker();

openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.VideosLibrary;
openPicker.FileTypeFilter.Add(".wmv");
openPicker.FileTypeFilter.Add(".mp4");

source = await openPicker.PickSingleFileAsync();

var savePicker = new Windows.Storage.Pickers.FileSavePicker();

savePicker.SuggestedStartLocation =
    Windows.Storage.Pickers.PickerLocationId.VideosLibrary;

savePicker.DefaultFileExtension = ".mp4";
savePicker.SuggestedFileName = "New Video";

savePicker.FileTypeChoices.Add("MPEG4", new string[] { ".mp4" });

destination = await savePicker.PickSaveFileAsync();

// Method to perform the transcoding.
TrimFile(source, destination);

}

我已尝试在我正在制作的应用中使用此功能,并在页面上说明

Windows Phone Store应用必须使用pickSingleFileAndContinue。

我尝试过不同的代码组合,如新手所述。

我一直有不同的错误,是否有人可以建议如何在WP8.1上使用

由于

1 个答案:

答案 0 :(得分:0)

在使用Windows Phone平台时,必须使用(如文档和编译器所述)PickSingleFileAndContinue()。这需要使用Continuation Manager,以便您可以在文件选择时选择执行后的应用执行。

同样适用于PickSaveFileAsync(),在WP上必须为PickSaveFileAndContinue();再次,你需要继续经理。

现在,这两种方法都是同步的,因此您无法使用它们。

我想知道的事情:TrimFileasync void。如果将其更改为async Task,则可以使用异步前置TrimFile调用并保留异步(因为您可以等待无效)。
我无法测试这是否有效,因为我现在手上还没有WP设备。