Windows Phone 8.1 MediaComposition – Audio trop rapide lors de l’assemblage de vidéos

Je rencontre un problème lorsque j’essaie de concaténer plusieurs vidéos. Chaque fois que je combine deux ou plusieurs vidéos, l’audio est lu à double vitesse, tandis que la vidéo est lue normalement.

Ci-dessous le code. Est-ce que je manque quelque chose?

J’obtiens les mêmes résultats lors du test mais du clonage d’une seule vidéo ou de la sélection de plusieurs vidéos.

J’ai comparé à l’exemple de code ici (je ne coupe pas).

public static IAsyncOperation ConcatenateVideoRT([ReadOnlyArray]IStorageFile[] videoFiles, IStorageFolder outputFolder, ssortingng outputfileName) { return Task.Run(async () => { IStorageFile _OutputFile = await outputFolder.CreateFileAsync(outputfileName, CreationCollisionOption.GenerateUniqueName); MediaComposition _MediaComposition = new MediaComposition(); foreach (IStorageFile _VideoFile in videoFiles) { MediaClip _MediaClip = await MediaClip.CreateFromFileAsync(_VideoFile); _MediaComposition.Clips.Add(_MediaClip); _MediaComposition.Clips.Add(_MediaClip.Clone()); } TranscodeFailureReason _TranscodeFailureReason = await _MediaComposition.RenderToFileAsync(_OutputFile); if (_TranscodeFailureReason != TranscodeFailureReason.None) { throw new Exception("Video Concatenation Failed: " + _TranscodeFailureReason.ToSsortingng()); } return _OutputFile; }).AsAsyncOperation(); } 

Il semble y avoir deux problèmes. J’ai ce travail en ajoutant la ligne suivante:

 MediaEncodingProfile _MediaEncodingProfile = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga); 

Et en changeant la ligne suivante:

 TranscodeFailureReason _TranscodeFailureReason = await _MediaComposition.RenderToFileAsync(_OutputFile); 

À:

 TranscodeFailureReason _TranscodeFailureReason = await _MediaComposition.RenderToFileAsync(_OutputFile, MediaTrimmingPreference.Fast, _MediaEncodingProfile); 

Le problème semble être que RenderToFileAsync ne semble pas fonctionner correctement lors de l’utilisation de VideoEncodingQuality.HD720p ou de VideoEncodingQuality.HD1080p, ces deux parameters recréant le problème audio rapide. En outre, l’utilisation de VideoEncodingQuality.Auto semble provoquer l’échec de l’encodage (bien que je pense qu’il est conçu pour utiliser les parameters par défaut de l’appareil photo).

De plus, j’ai signalé le problème sur les forums de la communauté de partenaires Microsoft et leur réponse a été que le codage peut échouer sur des périphériques spécifiques. Par exemple, lors de leurs tests, la vidéo enregistrée sur un Lumia 638 ne pouvait pas être codée / concaténée même sur d’autres 8x, Lumia 920 et Lumia 930 pourraient être encodés sur tous les appareils, même les 638.

Ils ont suggéré qu’il s’agissait d’un problème de périphérique (micrologiciel) et non d’un problème d’API Windows.Media.Editing.