2016-10-26 15 views
1

私はいくつかのjpg画像を選択し、これらの画像をMediaComposition(合成)に追加します。UWPはビデオにビットマップのコレクションを作成します

これは機能します。私はクリップの数を得た。

private async void encodeImages_Click(object sender, RoutedEventArgs e) 
{ 
    FileOpenPicker openPicker = new FileOpenPicker(); 
    foreach (string extension in FileExtensions.Image) 
    { 
     openPicker.FileTypeFilter.Add(extension); 
    } 
    IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync(); 

    composition = new MediaComposition(); 
    foreach (StorageFile file in files) 
    { 
     m_files.Add(file); 
     var clip =await MediaClip.CreateFromImageFileAsync(file, TimeSpan.Zero); 
     composition.Clips.Add(clip); 
    } 

    Debug.WriteLine(composition.Clips.Count); 
} 

次に、MediaCompositionを使用してMediaStreamSourceを生成します。

private void showVideo_Click(object sender, RoutedEventArgs e) 
{ 
    GC.Collect(); 

    //FileSavePicker savePicker = new FileSavePicker(); 
    //savePicker.SuggestedStartLocation = PickerLocationId.VideosLibrary; 
    //savePicker.FileTypeChoices.Add("MP4 File", new List<string>() { ".mp4" }); 
    //savePicker.SuggestedFileName = "output"; 
    //StorageFile videoFile = await savePicker.PickSaveFileAsync(); 
    //await composition.RenderToFileAsync(videoFile); 

    encodeImagesResult.Position = TimeSpan.Zero; 
    IMediaSource mediaStreamSource = composition.GeneratePreviewMediaStreamSource(400, 400); 
    encodeImagesResult.SetMediaStreamSource(mediaStreamSource); 
} 

「パラメータが正しくありません」というエラーが表示されます。

私のコードで何が問題になっていますか?どうもありがとう!

+0

// var composition = new MediaComposition(); 構図はグローバル変数 – Mxtin

答えて

0

ここでエラーThe parameter is incorrect.は、MediaClip.CreateFromImageFileAsync methodのパラメータが正しくないことを意味します。この方法では、第2パラメータoriginalDurationは、ビデオクリップ内の画像を表示する時間を表します。また、ビデオクリップでは、その継続時間を0にすることはできません。

var clip =await MediaClip.CreateFromImageFileAsync(file, TimeSpan.Zero); 

、あなたは画像のようなのために表示したい値にTimeSpanを設定:この後

var clip = await MediaClip.CreateFromImageFileAsync(file, TimeSpan.FromSeconds(1)); 

だから、このエラーを修正する

、あなたは、この行を編集することができます、あなたのコードは動作するはずです。

+0

ありがとうございました。できます! – Mxtin

関連する問題