지훈님 답변 감사드립니다..
많은 도움이 되었습니다.. 꾸벅
박지훈.임프 님이 쓰신 글 :
: 당근 외부 프로그램을 호출하는 것이 개발이 쉽습니다.
: 따로 동영상 프로그램을 개발해야 할 특별한 이유가 없는 한 저라도 당연히 그렇게 할 겁니다.
:
: 외부 프로그램을 실행할 때는 대충 쓰기에는 WinExec() 함수가 가장 편한데, 여기에다 파일 이름을 인자로 줄 수 있습니다.
: 또, 곰이나 아드레날린, 윈도우 미디어플레이어 등 요즘 동영상 플레이 프로그램들은 대부분 단일 인스턴스를 지원하므로,
: 그냥 WinExec()로 호출만 해주면 되겠군요.
:
: 예를 들어 다음과 같이 말이죠.
: WinExec(PChar('"C:\Program Files\Windows Media Player\wmplayer.exe" "C:\동영상파일이름.avi"'),
: SW_SHOWNORMAL);
: 주의할 것은, 위에서 보다시피 쌍따옴표로 실행파일 경로와 동영상파일 경로를 싸주어야 공백문자(스페이스)가 포함된
: 경우에도 문제가 없다는 것입니다.
:
: 만약에, 직접 프로그램을 만들겠다고 결심하셨다면, 가장 쉬운 방법은 윈도우 미디어 플레이어 OCX를 쓰는 것입니다.
: 윈도우 미디어 플레이어 액티브X를 임포트해서 VCL화 하고, 그 플레이어 컨트롤을 이용합니다.
:
: 윈도우 미디어 플레이어 액티브X를 임포트하려면... 먼저 델파이의 Components 메뉴에서 Import ActiveX Control을
: 선택하면 다이얼로그가 뜹니다. 여기서 상단의 리스트 박스에서 "Windows Media Player (Version 1.0)"을 찾습니다.
: 찾아서 선택한 후에 아래의 Install 버튼을 클릭합니다. 컴파일이 진행되고, 컴파일이 끝나면 컴포넌트 팔레트의 ActiveX
: 탭에 WindowsMediaPlayer 아이콘이 등록되어 있을 겁니다.
:
: 이걸 폼 위에 놓고, 버튼 클릭 등의 필요한 이벤트 핸들러에서 다음과 같이 코딩하면 됩니다.
: WindowsMediaPlayer1.URL := 'C:\동영상파일이름.avi';
:
: 단, 이 방법을 쓰려면 윈도우 미디어 플레이어가 예전 버전() 최신 버전으로 깔려있어야 합니다.
: 윈도우 2000에서는 윈도우 업데이트에서 설치할 수 있고, 아마 XP 이상에는 기본으로 깔려 있을 겁니다.
: 직접 프로그램을 만들어서 컨트롤해야 하는 경우가 아니라면 첫번째 방법이 더 낫습니다.
: [더 많은 코드 = 더 많은 버그] 이니까요.
:
: 그럼...
:
:
: 계발자 님이 쓰신 글 :
: : 델파이를 시작한지는 이제 1년 조금 넘어갑니다.. 아직 가야할 길이 먼 초보이구요..
: : 얼마전 친구가 다니는 회사에서 동여상 플레이 하는 프로그램을 개발한다고 하
: : 더군요.. 얘기를 들어보니 어려운것 같지는 않은데..(이게 초보의 실수일수도)
: : 이야기를 정리하자면...
: :
: : 1. 컴퓨터 하드 디스크에 영상(AVI)들이 3,000개정도 저장되어있다..
: :
: : 2. 이 영상들을 프로젝트를 통해 상영을 하는데.. 저장되어 있는 영상을 랜덤 형식으로든 아니면 사용자가 직접 다중으로 선택해서..자동 플레이가 되게한다..
: :
: : 위와 같이 정리가 되더군요..
: :
: : 제 생각에는 일단 동여상들의 경로와 파일 이름을 디비에 저장해두고...
: : 플레이 루틴을 만들어야 하는데... 문제는 여기서 발생하는것 같습니다..
: :
: : 그래서 다른 분들의 도움을 받고자 이렇게 글을 씁니다..
: :
: : 제가 일단 궁금한것은 동영상 플레이 루틴을 직접 작성을 해야 하는지.. 아니면
: : 외부 프로그램(윈도우 미디어, 곰플레이어)같은 것들을 직접 호출하여(파일명은 인자
: : 로 넘기는) 플레이 하는 방식으로 프로그램을 짜야 하는건지..(이 방법이 제게는 쉬울
: : 듯) 제가 감을 잡을 수 있도록 조언 부탁드리겠습니다... 그래야 제가 제 실력으로 가능
: : 한 것인지.. 아니면 제가 분수도 모르게 뛰어드는건지...알 수가 있을것 같습니다..
: :
: : 아직 잠이 덜깬 멍한 상태에서 글을 쓰느라 정리가 잘 안되네요...
: : 부탁드립니다..
|