Programming/WPF

[WPF] MediaElement 동영상 무한재생

Kanais 2020. 12. 14. 09:40
작성 날짜 : 2020.12.14
운영체제 : Windows10
개발툴 : Visual Studio 2019 Community
.NET Framework ver : 4.7.2

 

출처 : m.blog.naver.com/PostView.nhn?blogId=ljy5745&logNo=220496188019&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[WPF]동영상 재생(무한재생)

[cs] public MainWindow() {  InitializeComponent(); this.startMedia.Play(); this.startMedia.Me...

blog.naver.com

참고 : uxpro.tistory.com/161

 

MediaElement 반복 재생

실버라이트에서 미디어를 재생하는데 가장 많인 쓰이는 컨트롤로 MediaElement 가 있습니다. MediaElement의 기본 속성으로 AutoPlay가 있어서 Source부분에 경로를 선언해주거나 바인딩해주면 1회 재생에

uxpro.tistory.com

xaml

<StackPanel>
      <MediaElement x:Name="ME_Player" Stretch="Fill" Height="1920" Source="C:/Users/y/Pictures/ad/video4.mp4" 
                    IsVisibleChanged="ME_Player_IsVisibleChanged"
                    LoadedBehavior="Manual" MediaEnded="MediaElement_MediaEnded"/>
      <ContentControl Content="{Binding MediaElementControl, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>

MediaElement Source에 동영상 경로 넣어주고 LoadedBehavior 속성은 필수로 (여기서 한 무한재생 방법에서는 Manual로 설정해줘야만 함)

MediaEnded는 이벤트로 xaml.cs 소스코드에 정의해줌.

 

xaml.cs

public DisplayView()
{
    InitializeComponent();

    ME_Player.MediaEnded += new RoutedEventHandler(MediaElement_MediaEnded);
    ME_Player.Play();
}

private void MediaElement_MediaEnded(object sender, RoutedEventArgs e)
{
    this.ME_Player.Stop();
    this.ME_Player.Position = TimeSpan.FromSeconds(0);
    this.ME_Player.Play();
}

선언자 부분에 MediaElement.Play()를 해줘야 무한재생됨.

 

MediaElement.Position 설정이나 MediaElement.Stop() 둘 중 하나만 해줘도 무한재생됨.