mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-21 23:13:08 +08:00
style: Change files encoding format to UTF8-BOM
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// VideoDlg.cpp : ʵ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
// VideoDlg.cpp : 实现文件
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
|
||||
enum {
|
||||
IDM_ENABLECOMPRESS = 0x0010, // <EFBFBD><EFBFBD>Ƶѹ<EFBFBD><EFBFBD>
|
||||
IDM_SAVEAVI, // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>
|
||||
IDM_ENABLECOMPRESS = 0x0010, // 视频压缩
|
||||
IDM_SAVEAVI, // 保存录像
|
||||
};
|
||||
// CVideoDlg <EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD>
|
||||
// CVideoDlg 对话框
|
||||
|
||||
IMPLEMENT_DYNAMIC(CVideoDlg, CDialog)
|
||||
|
||||
@@ -27,13 +27,13 @@ void CVideoDlg::SaveAvi(void)
|
||||
}
|
||||
|
||||
CString strFileName = m_IPAddress + CTime::GetCurrentTime().Format("_%Y-%m-%d_%H-%M-%S.avi");
|
||||
CFileDialog dlg(FALSE, "avi", strFileName, OFN_OVERWRITEPROMPT, "<EFBFBD><EFBFBD>Ƶ<EFBFBD>ļ<EFBFBD>(*.avi)|*.avi|", this);
|
||||
CFileDialog dlg(FALSE, "avi", strFileName, OFN_OVERWRITEPROMPT, "视频文件(*.avi)|*.avi|", this);
|
||||
if(dlg.DoModal () != IDOK)
|
||||
return;
|
||||
m_aviFile = dlg.GetPathName();
|
||||
int code;
|
||||
if (code = m_aviStream.Open(m_aviFile, m_BitmapInfor_Full)) {
|
||||
MessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><EFBFBD>:"+m_aviFile + "\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: " + CBmpToAvi::GetErrMsg(code).c_str(), "<EFBFBD><EFBFBD>ʾ");
|
||||
MessageBox("创建录像文件失败:"+m_aviFile + "\r\n错误代码: " + CBmpToAvi::GetErrMsg(code).c_str(), "提示");
|
||||
m_aviFile.Empty();
|
||||
} else {
|
||||
pSysMenu->CheckMenuItem(IDM_SAVEAVI, MF_CHECKED);
|
||||
@@ -110,7 +110,7 @@ BEGIN_MESSAGE_MAP(CVideoDlg, CDialog)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CVideoDlg <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// CVideoDlg 消息处理程序
|
||||
|
||||
|
||||
BOOL CVideoDlg::OnInitDialog()
|
||||
@@ -122,13 +122,13 @@ BOOL CVideoDlg::OnInitDialog()
|
||||
m_hDD = DrawDibOpen();
|
||||
|
||||
m_hDC = ::GetDC(m_hWnd);
|
||||
SysMenu->AppendMenu(MF_STRING, IDM_ENABLECOMPRESS, "<EFBFBD><EFBFBD>Ƶѹ<EFBFBD><EFBFBD>(&C)");
|
||||
SysMenu->AppendMenu(MF_STRING, IDM_SAVEAVI, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>(&V)");
|
||||
SysMenu->AppendMenu(MF_STRING, IDM_ENABLECOMPRESS, "视频压缩(&C)");
|
||||
SysMenu->AppendMenu(MF_STRING, IDM_SAVEAVI, "保存录像(&V)");
|
||||
SysMenu->AppendMenu(MF_SEPARATOR);
|
||||
|
||||
CString strString;
|
||||
|
||||
strString.Format("%s - <EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d<EFBFBD><EFBFBD>%d", m_IPAddress, m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight);
|
||||
strString.Format("%s - 视频管理 %d×%d", m_IPAddress, m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight);
|
||||
|
||||
SetWindowText(strString);
|
||||
|
||||
@@ -146,7 +146,7 @@ BOOL CVideoDlg::OnInitDialog()
|
||||
void CVideoDlg::OnClose()
|
||||
{
|
||||
CancelIO();
|
||||
// <EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 等待数据处理完毕
|
||||
if (IsProcessing()) {
|
||||
ShowWindow(SW_HIDE);
|
||||
return;
|
||||
@@ -165,11 +165,11 @@ void CVideoDlg::OnReceiveComplete(void)
|
||||
|
||||
switch (m_ContextObject->InDeCompressedBuffer.GetBYTE(0)) {
|
||||
case TOKEN_WEBCAM_DIB: {
|
||||
DrawDIB();//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD>뿴һ<EFBFBD><EFBFBD>
|
||||
DrawDIB();//这里是绘图函数,转到他的代码看一下
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// <EFBFBD><EFBFBD><EFBFBD>䷢<EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 传输发生异常数据
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -185,22 +185,22 @@ void CVideoDlg::DrawDIB(void)
|
||||
Buffer tmp = m_ContextObject->InDeCompressedBuffer.GetMyBuffer(0);
|
||||
LPBYTE szBuffer = tmp.Buf();
|
||||
UINT ulBufferLen = m_ContextObject->InDeCompressedBuffer.GetBufferLength();
|
||||
if (szBuffer[1] == 0) { // û<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD>H263ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <EFBFBD><EFBFBD>һ<EFBFBD>Σ<EFBFBD>û<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>֧<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (szBuffer[1] == 0) { // 没有经过H263压缩的原始数据,不需要解码
|
||||
// 第一次,没有压缩,说明服务端不支持指定的解码器
|
||||
if (m_nCount == 1) {
|
||||
SysMenu->EnableMenuItem(IDM_ENABLECOMPRESS, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
|
||||
}
|
||||
SysMenu->CheckMenuItem(IDM_ENABLECOMPRESS, MF_UNCHECKED);
|
||||
memcpy(m_BitmapData_Full, szBuffer + nHeadLen, ulBufferLen - nHeadLen);
|
||||
} else { // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
////<EFBFBD><EFBFBD><EFBFBD>ﻺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵĵڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
InitCodec(*(LPDWORD)(szBuffer + 2)); //<EFBFBD>ж<EFBFBD>
|
||||
} else { // 解码
|
||||
////这里缓冲区里的的第二个字符正好是是否视频解码
|
||||
InitCodec(*(LPDWORD)(szBuffer + 2)); //判断
|
||||
if (m_pVideoCodec != NULL) {
|
||||
SysMenu->CheckMenuItem(IDM_ENABLECOMPRESS, MF_CHECKED);
|
||||
memcpy(m_BitmapCompressedData_Full, szBuffer + nHeadLen, ulBufferLen - nHeadLen); //<EFBFBD><EFBFBD>Ƶû<EFBFBD>н<EFBFBD>ѹ
|
||||
//<EFBFBD><EFBFBD><EFBFBD>↑ʼ<EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬδѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ʾ<EFBFBD><CABE><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ϡ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>avi<76><69>ʽ
|
||||
memcpy(m_BitmapCompressedData_Full, szBuffer + nHeadLen, ulBufferLen - nHeadLen); //视频没有解压
|
||||
//这里开始解码,解码后就是同未压缩的一样了 显示到对话框上。 接下来开始视频保存成avi格式
|
||||
m_pVideoCodec->DecodeVideoData(m_BitmapCompressedData_Full, ulBufferLen - nHeadLen,
|
||||
(LPBYTE)m_BitmapData_Full, NULL, NULL); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD>ѹ
|
||||
(LPBYTE)m_BitmapData_Full, NULL, NULL); //将视频数据解压
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,9 +217,9 @@ void CVideoDlg::InitCodec(DWORD fccHandler)
|
||||
if (!m_pVideoCodec->InitCompressor(m_BitmapInfor_Full, fccHandler)) {
|
||||
Mprintf("======> InitCompressor failed \n");
|
||||
delete m_pVideoCodec;
|
||||
// <EFBFBD><EFBFBD>NULL, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD>ΪNULL<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
// 置NULL, 发送时判断是否为NULL来判断是否压缩
|
||||
m_pVideoCodec = NULL;
|
||||
// ֪ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
// 通知服务端不启用压缩
|
||||
BYTE bToken = COMMAND_WEBCAM_DISABLECOMPRESS;
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
GetSystemMenu(FALSE)->EnableMenuItem(IDM_ENABLECOMPRESS, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
|
||||
@@ -229,7 +229,7 @@ void CVideoDlg::InitCodec(DWORD fccHandler)
|
||||
|
||||
void CVideoDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
{
|
||||
// TODO: <EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
||||
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
||||
switch (nID) {
|
||||
case IDM_SAVEAVI: {
|
||||
SaveAvi();
|
||||
@@ -277,7 +277,7 @@ void CVideoDlg::OnPaint()
|
||||
|
||||
if (!m_aviFile.IsEmpty()) {
|
||||
m_aviStream.Write(m_BitmapData_Full);
|
||||
// <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>
|
||||
// 提示正在录像
|
||||
SetBkMode(m_hDC, TRANSPARENT);
|
||||
SetTextColor(m_hDC, RGB(0xff,0x00,0x00));
|
||||
const LPCTSTR lpTipsString = "Recording";
|
||||
|
||||
Reference in New Issue
Block a user