2012-05-18 3 views
10

여러 화면 환경과 관련이있는 MediaElement에 매우 이상한 문제가 발생합니다. 간혹 (매번 문제를 재현 할 수 없음) MediaElement는 드래그 할 때 재생이 중지됩니다 그것이 화면에서 다른 창으로 들어가는 창. 이 이상한 behaivor 같은 아주 기본적인 코드도 발생합니다WPF MediaElement가 다른 화면으로 이동하면 재생이 중지됩니다.

public MainWindow() 
{ 
    InitializeComponent(); 
} 

protected override void OnSourceInitialized(EventArgs e) 
{ 
    media.Play(); 
    base.OnSourceInitialized(e); 
} 

<Window x:Class="Test.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <MediaElement LoadedBehavior="Manual" 
         Name="media" 
         Source="C:\Users\Maurizio\Desktop\Pulp Fiction.avi"/> 
    </Grid> 
</Window> 

사람이 유사한 문제가 발생 (결국 해결) 했습니까?

답변

10

나는 창 렌더링에서 하드웨어 가속 문제를 해결하는 것 같다 해제, 해결 방법을 발견했습니다 : 나는 성능의 차이를 인식 할 수

using System.Windows.Interop; 
... 

    protected override void OnSourceInitialized(EventArgs e) 
    { 
     HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource; 
     HwndTarget hwndTarget = hwndSource.CompositionTarget; 
     hwndTarget.RenderMode = RenderMode.SoftwareOnly; 
     media.Play(); 
     base.OnSourceInitialized(e); 
    } 

을하고, 문제가 어떤 시험에 나타나지 않습니다 ...

+0

감사합니다! 다소 이상하다. –

+0

나는 이것이 오래되었다는 것을 알고 있지만, 비디오를 부분적으로 다른 모니터에 배치하여 비디오가 한면에서만 재생된다는 점을 언급하고자했다. 그것은 사소한 문제입니다. –

관련 문제