2012-04-09 5 views
4

내 앱에서 주기적으로 두 개의 동영상 (각각 15 초 길이)을 재생해야합니다. DoubleAnimation에서 한 동영상의 불투명도를 변경하여 다른 동영상 위에 표시되도록해야합니다. 두 개의 비디오를 재생하는 것은 동기화 목적으로 필요합니다.두 동영상을 동시에 재생

MediaElements를 사용하여 비디오를 재생하려고했지만 비디오를 동시에 재생할 수 없습니다. 나는 불가능하다고 생각한다. 내가 맞습니까?

또한 비디오를 450 프레임 (초당 30 프레임)으로 나누고 ObjectAnimationUsingKeyFrames (예 : http://compiledexperience.com/windows-phone/tutorials/candle)를 사용하려고 시도했지만이 방법은 너무 많은 메모리를 사용합니다 (사용 된 메모리는 약 250MB이지만 최대 사용량은 90 MB).

마지막으로 DispatcherTimer를 사용하려고했는데 Tick 프로 시저에서 두 이미지의 Source Properties를 변경했지만 느리게 작동합니다.

도와주세요, 지연없이 이것을 할 수있는 방법이 있습니까?

+1

답변이 없지만 작동하지 않는 이유는 페이지에서 하나의 'MediaElement'만 사용할 수 있기 때문입니다. 가능한 경우 모든 애니메이션과 효과가 들어있는 하나의 비디오를 만들고 루프에서 해당 비디오 만 사용할 수 있습니다. – keyboardP

+0

사용자의 선택에 따라 비디오를 표시하거나 사라지게해야합니다. 그래서 하나의 비디오가 점차적으로 다른 비디오로 바뀌면 모핑 효과의 모양을 만들고 싶습니다. 그러나 시작 순간에이 효과는 사용자에 의해 정의됩니다 (예 : 탭 이벤트). – Lumen

+0

또한 답이 아니라 단지 제안이나 ... 정말로 생각해 보면 왜 스트림/큐 비디오 파일에 임시 파일 세트를 사용할 수 없습니까? 여기서 정확한 프레임을 "접합"될 것입니다. 별도의 "스플 라이스"파일로 렌더링하십시오. 그런 다음 vid_1part_1, splice_1, vid2part_1, splice_2, vid_1part_2, splice_3, vid_2part_2, splice_4 ... 등을 플레이합니다. –

답변

0

또 다른 옵션은 CompositionTarget.Rendering 를 사용하려고 할 것입니다 여기에 설명 : http://msdn.microsoft.com/en-us/library/ms748838.aspx

다음은으로 실행할 수 있습니다 문제 호출 사이의 시간이 보장되지는 않으며 그래서 당신은 프레임이 빠르거나 느린 실행 얻을 수 있다는 것입니다 .

그러나 Charles Petzold는 렌더링 이벤트가 발생할 때마다 표시 할 올바른 프레임을 선택할 수 있도록 경과 시간을 결정하는 방법을 보여주는 게시물을 가지고 있습니다. 예제 코드가 도움이 될 것입니다 : http://www.charlespetzold.com/blog/2010/06/CompositionTarget-Rendering-and-RenderEventArgs.html

관련 문제