私はいくつかの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);
}
「パラメータが正しくありません」というエラーが表示されます。
私のコードで何が問題になっていますか?どうもありがとう!
// var composition = new MediaComposition(); 構図はグローバル変数 – Mxtin