2010-08-04 6 views
5

में एक वीडियो को दोहराने के लिए सबसे आसान तरीका मैं एक MediaElement जहां स्रोत कुछ डेटाक्या एक MediaElement

<MediaElement Source='{Binding Something}' /> 

वीडियो दोहराने के लिए सबसे आसान तरीका क्या है करने के लिए बाध्य कर रहा है है? आदर्श रूप में, मीडियाइलेमेंट में दोहराए जाने वाले व्यवहार की संपत्ति होगी।

<MediaElement RepeatBehavior='Forever' ... /> 

लेकिन मुझे ऐसी संपत्ति नहीं मिल रही है।

उत्तर

11

आपको MediaElement में स्टोरीबोर्ड जोड़ने की आवश्यकता है। नीचे दिए गए उदाहरण को देखें:

<MediaElement Name="myMediaElement" > 
     <MediaElement.Triggers> 
     <EventTrigger RoutedEvent="MediaElement.Loaded"> 
      <EventTrigger.Actions> 
      <BeginStoryboard> 
       <Storyboard> 

       <!-- The MediaTimeline has a RepeatBehavior="Forever" which makes the media play 
        over and over indefinitely.--> 
       <MediaTimeline Source="media\tada.wav" Storyboard.TargetName="myMediaElement" 
       RepeatBehavior="Forever" /> 

       </Storyboard> 
      </BeginStoryboard> 
      </EventTrigger.Actions> 
     </EventTrigger> 
     </MediaElement.Triggers> 
    </MediaElement> 
+2

http://msdn.microsoft.com/en-us/library/ms741866.aspx – Quincy

3

मुझे पता है कि यह थोड़ा देर हो चुकी है, लेकिन मैं एमएसडीएन से उदाहरण नहीं प्राप्त कर सका। तो शोध के बाद मुझे यह प्रोजेक्ट मिला है: WPF Media Kit, स्क्रीन के दाईं ओर स्थित नवीनतम संस्करण में ब्राउज़ लिंक पर क्लिक करें। आप नमूना आवेदन का कोड दर्ज करेंगे। मैं इस पुस्तकालय पसंद आया, क्योंकि एक पाश के रूप में सरल था:

MediaUriElement MyPlayer.Loop = True; 

या <DirectShowControls:MediaUriElement x:Name="MyPlayer" Loop="True" />

आशा इस किसी और मदद करता है।

सम्मान!

6

मैंने इसे UnloadedBehavior से MediaState पर सेट करके काम किया। Manual और निम्नलिखित कोड:

private void mediaElement_OnMediaEnded(object sender, RoutedEventArgs e) 
{ 
    mediaElement.Position = new TimeSpan(0,0,1); 
    mediaElement.Play(); 
} 

शून्य फ्लॉप काम करने की स्थिति कर रहा है ...

+4

मैं उसी प्रश्न का उत्तर देने के लिए इस प्रश्न में आया था, इसलिए मुझे यह उल्लेख करना होगा कि स्थिति को 'टाइमस्पेन.जेरो' 'ठीक काम करता है। – MasterMastic

+1

मैंने अपने स्वयं का परीक्षण किया और पाया कि टाइमस्पेन.जेरो के साथ ठीक काम कर रहा है। नाइस केन – akatran

+0

+ मास्टरमैस्टिक टाइमस्पैन.जेरो सभी मामलों के लिए काम नहीं कर रहा है। – Evgeny

0

मीडिया प्लेयर विधि के लिए mediaElement.Position = new TimeSpan(0,0,1) जोड़ा जा रहा है के रूप में द्वारा सुझाए गए कोई असर नहीं बल्कि है (मीडिया खेलने से पहले) नहीं है मास्टरमास्टिक और गिडो ज़ैनन। मैंने MediaEnded के लिए दिए गए सामग्री के साथ MediaElement ईवेंट बनाया और यह काम किया।

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