📄 osdteletext.c
字号:
#include"osdteletext.h"
#include"PrDmx.h"
#include"osdwindows.h"
#include"PrTuner.h"
#define WM_RECVTXTPAGE WM_USER+200
static unsigned int TxtFiltCBK(PRMpgFilt filt, void *userData,BYTE*section,UINT length)
{
SendMessage((HWND)userData,WM_RECVTXTPAGE,(WPARAM)section,length);
return 0;
}
static LRESULT WINAPI TeletextProc(HWND hwnd,UINT msgID,WPARAM wParam,LPARAM lParam)
{
switch(msgID){
case WM_KEYDOWN:
if(wParam==VK_ESCAPE)
PostQuitMessage(hwnd);
else
DefDlgProc(hwnd,msgID,wParam,lParam);
break;
case WM_RECVTXTPAGE:
TTXPes(wParam,lParam);
break;
default:return DefDlgProc(hwnd,msgID,wParam,lParam);
}
return 0;
}
void StartTeletext(void)
{
MSG msg;
PRTunerParams tuner;
HWND hwnd=CreateMainWindow("Teletext",WS_VISIBLE|WS_OVERLAPPEDWINDOW,150,50,450,450,TeletextProc);
PRMpgFilt filt=FilterCreate(0,MPGFILT_PES);
tuner.frequency=395000;
tuner.u.qam.modulation=3;
tuner.u.qam.symbol_rate=6875;
PrTunerSet(0,&tuner);
FilterSetPID(filt,0x69);
FilterSetNotify(filt,TxtFiltCBK,hwnd);
FilterStart(filt);
while(GetMessage(&msg,hwnd,0,0)){
DispatchMessage(&msg);
}
SendMessage(hwnd,WM_DESTROY,0,0);
FilterDestroy(filt);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -