2012-05-23 6 views
0

한 번 영화를 전체 화면으로 재생 한 다음 프로그래밍 방식으로 플레이어를 닫으려고합니다. QTMovieView, 명령 행 및 AppleScript를 사용해 보았는데 AppleScript가 가장 간단한 방법이라는 것을 알았습니다.AppleScript로 QuickTime 닫기

하지만 실제로 AppleScript를 모르므로 동영상 재생 후 QuickTime 자동 닫기를 할 수 없습니다.

모든 것이 제대로 작동하지만 "완료"는 반복 라인에서 인식되지 않습니다. 다음은이 오류가있는 스크립트입니다.

오류 "QuickTime Player에 오류가 발생했습니다. 문서 1을 유형 지정자로 만들 수 없습니다." 숫자 -1700에서 문서 1을 지정자로 변경

tell application "QuickTime Player" 
    activate 
    open "/Users/...real path of the movie.mov" 
    present document 1 
    play document 1 

    repeat until (get done of document 1) 
    end repeat 

    delay 2 
    close document 1 
end tell 

마지막으로이 코드로 변경했습니다.

tell application "QuickTime Player" 
    quit 
end tell 
tell application "QuickTime Player" 
    activate 
    open "/Users/.../...mov" 
    tell document 1 
     present 
     play 
     repeat until playing is false 
     end repeat 
     delay 2 
     close 
    end tell 
    quit 
end tell 

새로운 문제 : 비디오가 끝나기 전에 앱이 멈 춥니 다.

+0

. 종료하기 전에 문서 1을 닫을 필요도 없습니다. 내 편집 버전을 사용해보십시오. – adayzdone

+0

지연 1을 중간에서 끝 반복으로 옮길 수 있습니까? –

답변

2

이것은 저에게는 효과적이지만 매우 강건하지는 않습니다. 이며 current time은 모두 duration과 동등한 것으로 끝나는 것입니까? repeat 조건에 "엡실론 내부"로직을 넣고 싶을 수 있습니다.

tell application "QuickTime Player" 
    play document 1 
    repeat until (current time of document 1 = duration of document 1) 

    end repeat 
    delay 2 
    close document 1 
end tell 
+0

그래함 감사합니다, 작동합니다! 그러나 QuickTime Player는 재생 후에 종료하지 않았습니다. 가까이 써도 될까요? –

+0

'문서 1 닫기'를 '종료'로 변경하십시오. 나는 당신이 그 앱을 끝내기를 원하는 질문에서 깨닫지 못했습니다. –

0

보십시오 : 당신은 당신이 그것을 다시 시작하기 전에 응용 프로그램을 종료 할 필요가 없습니다

tell application "QuickTime Player" 
    tell document 1 
     present 
     play 
     repeat until playing is false 
      delay 1 
     end repeat 
    end tell 
quit 
end tell 
+0

감사합니다 adayzdone, 그것도 작동합니다! 그러나 QuickTime Player는 재생 후에 종료하지 않았습니다. 가까이 써도 될까요? –

+0

수정 된 버전을 사용해보십시오. – adayzdone

+1

누군가가 동영상을 일시 중지 한 경우 앱을 종료 하시겠습니까? –