2013-07-31 4 views
1

나는 mp4 비디오를 재생하고 비디오의 오디오 트랙을 사용하여 파형을 그릴 수있는 프로그램이 있습니다. 비디오와 동기화 된 상태에서 파형 플롯의 진행 상태를 가장 잘 나타내는 방법은 무엇입니까 (초당 2 샘플)?파형에서 웨이브 파일 재생 진행 상황을 표시하는 가장 좋은 방법

웨이브 폼의 현재 시간이 내가 구현 한 타임 라인과 미디어 클럭을 사용하여 재생되는 비디오와 동기화 상태를 유지하는 데 사용하는 웨이브 폼을 원합니다.

다른 프로그램은 재생 된 영역을 음영 처리하거나 막대가 현재 시간을 나타내는 곳에서 파형이 이동하는 막대를 유지함으로써 나타냅니다. 구현할 항목과 구현 위치를 결정할 때 도움이 필요합니다.

내가 명확하지 않은 경우 질문을 명확히 해 드리겠습니다. 알려주세요.

나는 C#으로 WPF 프로그램에서 Naudio를 사용하여 코딩하고 있습니다.

답변

1

글쎄 그것은 당신에게 달려 있습니다. 더 쉽게 구현할 수있는 것은 파형의 상단에있는 커서입니다. 연주하는 동안 커서를 움직일 수 있기 때문입니다.

파형의 초기 부분을 음영 처리하려면 파형 그리기 구현 방법에 따라 달라집니다. 일련의 수직선을 기반으로하는 경우, 이제 재생 시간 전에 선의 색상을 변경할 수 있습니다. 그러나 파형을 다각형으로 구성했다면 더 어려울 것입니다. 직사각형을 그리고 WPF에 파형에 따라 클립핑하는 등의 유용한 기법이 있지만 일반적으로 수직선 그리기 접근법을 사용하는 것이 더 쉽습니다.

+0

"커서를 파형 상단에 구현"이란 무엇을 의미합니까? 파형이 재생중인 비디오와 동기화되도록하고 싶습니다. 그리고 비디오가 파형의 한 지점과 어떻게 동기화되어 있는지를 나타낼 필요가 있습니다. 나는 그들이 플레이되는 동안 선의 색깔을 바꾸는 아이디어를 이해한다. 지금은 포인트 콜렉션에 있고 폴리 라인에 지정된 포인트 목록을 사용하고 있습니다. 내 생각은 "clock time invalidated"메서드에서 시간을 확인하고 현재 시간을 기준으로 파형의 주어진 지점까지 음영 부분을 음영 처리하는 것입니다. 도움을 주셔서 감사합니다. @ MarkHeath – smrsun2013

+0

OK 움직이는 커서가있는 정적 파형을 의미합니다. 일반적으로 구현하기가 가장 쉽습니다. –