2011-01-19 3 views
2

C# (오디오 포함)로 비디오 파일을 재생 한 다음 비디오를 검은 색 화면으로 페이드 아웃하고 다른 비디오를 페이드 아웃 할 수 있어야합니다.비디오 클립을 검정색으로 페이드 화

DirectShow & DirectShowNet을 보았습니다. 그러나 나는 더 현명하지 않습니다. 나는 시간 카운터 등으로 비디오를 재생하는 간단한 응용 프로그램을 가지고 있지만, 나는 필터 & 그래프로 flummoxed 해요.

어떤 방향으로 들어가야합니까?

+0

Windows Form 내에 포함되어 있습니까? –

+0

내가 가장 좋은 솔루션을 열어 놓았는데, 이전에 이런 비디오를 본 것처럼 DShow에 대해 살펴 보았습니다. – X100

답변

0

WPF를 사용하고 있습니까?

WPF를 사용하면 다양한 방법으로이 작업을 수행 할 수 있습니다. 예를 들어 비디오 컨트롤의 (MediaElement) 불투명도에 간단하게 애니메이션을 적용 할 수 있습니다.

참고 : Winforms 응용 프로그램 내에서 WPF 컨트롤을 사용할 수 있습니다. 이 작업을 수행하는 방법은 this 비디오를 참조하십시오.

+0

WPF에 대해 생각하지 못했지만, 나는 방황하고 관련 내용을보아야합니다. – X100

0

하나의 솔루션은 동영상을 볼 수있는 영역의 꼭대기에 검은 색 오버레이를 그리는 것입니다. 비디오의 프레임/시간을 기준으로 오버레이의 투명도를 조정할 수 있습니다. 본질적으로, 페이드 아웃을 시작하려는 비디오의 위치를 ​​기반으로 오버레이를 천천히 제거하거나 투명도를 추가하는 시간 초과 이벤트를 실행하면됩니다.

+0

네, 그건 저에게 너무 해킹 된 것 같습니다. 그러나 좋은 솔루션은 생각이 시간이 지남에 애플 리케이션에 더 많은 기능을 추가하는 것, 그리고 나는 아마도 이것을 막 다른 골목으로 본다. – X100

1

WPF 응용 프로그램을 만들고 MediaElement 컨트롤을 사용하여 비디오를 재생합니다. MediaElement (예 : MediaEnded)의 이벤트를 사용하여 페이드 아웃/전환 스트리밍 소스/페이드 인을 시작할시기를 감지합니다. 페이드 아웃을위한 가장 쉬운 방법은 미디어 요소의 불투명도를 변경하는 것입니다. MediaElement는 시스템에 DirectShow 필터가 설치된 모든 비디오를 재생할 수 있어야합니다.

+0

멋진 geoff는 언급했다 -가는 길과 같게 들린다. 감사. – X100

+0

Antoher 좋은 방법은 실버 라이트로하는 것입니다 - 귀하의 요구 사항에 맞는 경우. 거기에있는 미디어 요소는 매우 훌륭하며 wpf 미디어 요소보다 더 많은 기능을 제공합니다. – CaptainPlanet

관련 문제