// 플레이어 명령
//
// int Volume = SendMessage(hWnd, POT_COMMAND, POT_GET_VOLUME, 0);
// POT_GET_XXX only support SendMessage
//
// Send(Post)Message(hWnd, POT_COMMAND, POT_SET_VOLUME, Volume);
// POT_SET_XXX support SendMessage or PostMessage
#define POT_COMMAND WM_USER
#define POT_GET_VOLUME 0x5000 // 0 ~ 100
#define POT_SET_VOLUME 0x5001 // 0 ~ 100
#define POT_GET_TOTAL_TIME 0x5002 // ms unit
#define POT_GET_PROGRESS_TIME 0x5003 // ms unit
#define POT_GET_CURRENT_TIME 0x5004 // ms unit
#define POT_SET_CURRENT_TIME 0x5005 // ms unit
#define POT_GET_PLAY_STATUS 0x5006 // 0:Stopped, 1:Paused, 2:Running
#define POT_SET_PLAY_STATUS 0x5007 // 0:Toggle, 1:Paused, 2:Running
#define POT_SET_PLAY_ORDER 0x5008 // 0:Prev, 1:Next
#define POT_SET_PLAY_CLOSE 0x5009
// POT_VIRTUAL_KEY_XXX is available from version 2023-08-30
#define POT_VIRTUAL_KEY_SHIFT 0x0100
#define POT_VIRTUAL_KEY_CONTROL 0x0200
#define POT_VIRTUAL_KEY_ALT 0x0400
#define POT_VIRTUAL_KEY_EXT 0x0800
#define POT_SEND_VIRTUAL_KEY 0x5010 // Virtual Key(VK_UP, VK_DOWN....) | POT_VIRTUAL_KEY_XXXX
#define POT_GET_MUTE 0x5011 // 0: none, 1:mute
#define POT_SET_MUTE 0x5012 // 0: none, 1:mute
#define POT_GET_OSD 0x5013 // 0: none, 1:all, 2:simple
#define POT_SET_OSD 0x5014 // 0: none, 1:all, 2:simple
#define POT_GET_SPEED 0x5015 // 200 ~ 12000(0.2 ~ 12X)
#define POT_SET_SPEED 0x5016 // 200 ~ 12000(0.2 ~ 12X)
#define POT_GET_AVISYNTH_USE 0x6000
#define POT_SET_AVISYNTH_USE 0x6001 // 0: off, 1:on
#define POT_GET_VAPOURSYNTH_USE 0x6010
#define POT_SET_VAPOURSYNTH_USE 0x6011 // 0: off, 1:on
#define POT_GET_VIDEO_WIDTH 0x6030
#define POT_GET_VIDEO_HEIGHT 0x6031
#define POT_GET_VIDEO_FPS 0x6032 // scale by 1000
// String getting
// Send(Post)Message(hWnd, POT_COMMAND, POT_GET_XXXXX, (WPARAM)ReceiveHWND);
// then PotPlayer call SendMessage(ReceiveHWND, WM_COPY_DATA, string(utf8) data...
// COPYDATASTRUCT::dwData is POT_GET_XXXXX
#define POT_GET_AVISYNTH_SCRIPT 0x6002
#define POT_GET_VAPOURSYNTH_SCRIPT 0x6012
#define POT_GET_PLAYFILE_NAME 0x6020
// String setting... Using WM_COPYDATA
// COPYDATASTRUCT cds = { 0, };
// cds.dwData = POT_SET_xxxxxxxx;
// cds.cbData = urf8.GetLength();
// cds.lpData = (void *)(LPCSTR)urf8;
// SendMessage(hWnd, WM_COPYDATA, hwnd, (WPARAM)&cds);
#define POT_SET_AVISYNTH_SCRIPT 0x6003
#define POT_SET_VAPOURSYNTH_SCRIPT 0x6013
#define POT_SET_SHOW_MESSAGE 0x6040
댓글
댓글 리스트-
작성자kivalan 작성시간 19.07.22 좋은 플레이어를 개발해 주셔서 감사합니다. 항상 잘 사용하고 있습니다.
외부에서 플레이어를 원격으로 제어를 해보려고 하는데.
POT_GET_PLAYFILE_NAME 0x6020 가 핸들을 넣어도 메시지가 오지 않는것 같습니다 ㅠ.
그리고 PlayList에 있는 파일명을 호출하면 그 파일이 재생되는 메시지는 없을까요?
그리고 파일 재생 시작시 종료시 FadeIn FadeOut효과가 옵션으로 가능할까요? -
작성자세이류 작성시간 19.10.07 C# .NET Framework4.7.2로 작업중입니다.
string getting부분과 string setting부분이 결과가 나오지 않습니다....
그리고 파일을 로드하였을때 받을수 있는 콜이나 영상의 경로를 직접 입력하여 영상을 시작할 수 있을까요? 영상 시작을 로드와 동시가 아닌 임의로 딜레이를 주고 싶어서 그렇습니다.
-
작성자Sage 작성시간 21.12.01 테스트해보아도 전혀 반응이 없는 분들은
WM_USER 대신 0x0400 를 넣어보세요. 사용하시는 언어나 스크립트에 따라 이 값이 준비 안되있을 수도 있겠네요.
오토핫키 사용자고, SendMessage 어디서 많이 본 명령어인데 될 것 같은데?, 해서
오늘 구글링 하고 연구좀 해보다가, 저 값을 넣으면 된다는 것을 알고 난 다음
실마리가 풀리기 시작했네요. 이제 이것들이 뭐고 어떻게 쓰는지 좀 알겠네요. -
답댓글 작성자사민주의 작성시간 22.05.08 안녕하세요 오토핫키 사용자라고 하셔서 혹시나 해서 여쭤보는데요.
오토핫키에서 현재 재생 중인 플레이어의 현재 재생 시간을 가져오려면 어떻게 해야 하나요?
부디 가르침 부탁드립니다... -
답댓글 작성자Sage 작성시간 22.09.01 사민주의 팟플레이어 SDK 를 AutoHotkey 에서 이용해 보기로, 실험 게시판 글로 따로 적어봤습니다.