2015-03-04 4 views
5

मुझे एकाधिक वीडियो को एकसाथ जोड़ने की कोशिश करते समय समस्या आ रही है। जब भी मैं 2 या अधिक वीडियो जोड़ता हूं, ऑडियो डबल गति पर खेला जाता है, जबकि वीडियो सामान्य रूप से खेलता है।विंडोज फोन 8.1 मीडियाकंपोजिशन - वीडियो को सिलाई करते समय ऑडियो बहुत तेज़

नीचे कोड है। क्या मैं कुछ भूल रहा हूँ?

मुझे एक ही परिणाम मिलते हैं लेकिन एक वीडियो क्लोनिंग या एकाधिक वीडियो चुनते हैं।

मैंने कोड उदाहरण here (मैं ट्रिम नहीं कर रहा हूं) की तुलना की है।

public static IAsyncOperation<IStorageFile> ConcatenateVideoRT([ReadOnlyArray]IStorageFile[] videoFiles, IStorageFolder outputFolder, string outputfileName) 
    { 
     return Task.Run<IStorageFile>(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.ToString()); 
      } 

      return _OutputFile; 
     }).AsAsyncOperation(); 
    } 

उत्तर

3

ऐसा लगता है कि दो मुद्दे हैं।

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

और निम्न पंक्ति को बदलने:

TranscodeFailureReason _TranscodeFailureReason = await _MediaComposition.RenderToFileAsync(_OutputFile); 

करने के लिए: मैं निम्नलिखित पंक्ति जोड़कर इस काम कर मिल गया है

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

समस्या यह है कि RenderToFileAsync नहीं हो रहा है VideoEncodingQuality.HD720p या VideoEncodingQuality.HD1080p का उपयोग करते समय ठीक से काम करने लगते हैं, इन दोनों सेटिंग्स में तेजी से ऑडियो समस्या पुन: उत्पन्न होती है। इसके अलावा, VideoEncodingQuality.Auto का उपयोग करके एन्कोड विफल हो जाता है (हालांकि मुझे लगता है कि यह कैमरे से डिफ़ॉल्ट सेटिंग्स का उपयोग करने के लिए है)।

इसके अतिरिक्त, मैंने माइक्रोसॉफ्ट पार्टनर कम्युनिटी फ़ोरम पर समस्या पोस्ट की और उनकी प्रतिक्रिया यह थी कि एन्कोडिंग विशिष्ट उपकरणों पर असफल हो सकती है, उदा। उनके परीक्षण में वीडियो एक लूमिया 638 पर दर्ज इनकोडिंग नहीं किया जा सका/यहां तक ​​कि अन्य उपकरणों पर concatenated, लेकिन एक एचटीसी 8x, Lumia 920 और लूमिया 930 से वीडियो सभी उपकरणों भी 638.

उन्होंने सुझाव दिया यह था पर इनकोडिंग जा सकता है एक डिवाइस समस्या (फर्मवेयर) Windows.Media.Aditing API समस्या नहीं है।

संबंधित मुद्दे