2012-12-07 3 views

답변

0

VLCJ는 프레임 액세스별로 직접 이런 종류의 프레임을 설정하지 않습니다. setTime()getTime()을 mediaplayer 개체에 사용할 수 있지만 프레임이 아니라 밀리 초 단위로 처음부터 시간이 반환됩니다. 물론, 프레임 속도를 알면 상대 프레임을 변환하는 것이 상대적으로 쉽습니다.

VLCJ가 제공하는 것보다 낮은 레벨의 조작이 필요한 경우, Xuggler를 살펴볼 수 있습니다.

0

사실 약간의 계산으로이 작업을 수행 할 수 있습니다. 가장 깨끗한 방법은 아니지만 쉽게 이해할 수 있습니다.

VLCj를 사용하면 .getLength()을 사용하여 미디어 길이를 가져올 수 있습니다. 그러나이 시간은 밀리 초 단위로 미디어의 길이를 반환합니다. 또한 .getFPS()을 사용하여 초당 프레임 수를 얻을 수 있습니다. 그래서

가 지금과 같이 프레임의 총 수를 얻을 수 있습니다 : 당신은 당신이 현재 밀리 초을 어디에 을 찾아 .getPosition()을 사용할 수 있습니다 그리고

total_frames = .getFPS * .getLength() /1000; 

를, 당신은 다음 프레임에 그 번역 할 수 있습니다 . 이것은 백분율로 반환됩니다. 이제

current_frame = .getPosition() * total_frames; 

, 특정 프레임하자 전화 desired_frame 그 이동 하려는 경우. 백분율로 표시되는 .setPosition()을 사용할 수 있습니다. 따라서 점프하려는 프레임을 나타내는 합계의 백분율을 결정해야합니다.

.setPosition((float)desired_frame/total_frames); 
관련 문제