亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? snddlg.cpp

?? 一個TAPI源代碼
?? CPP
字號:
// SndDlg.cpp : implementation file
//

#include "stdafx.h"
#include <windowsx.h>
#include "Snd.h"
#include "TapiLine.h"
#include "mmsystem.h"
#include "SndDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSndDlg dialog

CSndDlg::CSndDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSndDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSndDlg)
	m_csFileName = _T("");
	m_csNo = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSndDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSndDlg)
	DDX_Text(pDX, IDC_EDIT_FILENAME, m_csFileName);
	DDV_MaxChars(pDX, m_csFileName, 254);
	DDX_Text(pDX, IDC_EDIT_PHONE, m_csNo);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSndDlg, CDialog)
	//{{AFX_MSG_MAP(CSndDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_CONNECT, OnButton)
	ON_BN_CLICKED(IDC_BUTTON_PLAY, OnButtonPlay)
	ON_BN_CLICKED(IDC_BUTTON_DISCONNECT, OnButtonDisconnect)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSndDlg message handlers

BOOL CSndDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSndDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSndDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSndDlg::OnButton() 
{
int nLong;

	UpdateData(true);
	m_TapiLine.Create(m_hWnd);
	nLong = m_TapiLine.DialCall(m_csNo.GetBuffer(0));
	if ( nLong < 0 ) return;
}
void CSndDlg::OnButtonPlay() 
{
   UpdateData(true);	
   if(!(hmmio = mmioOpen(m_csFileName.GetBuffer(0), NULL, MMIO_READ | MMIO_ALLOCBUF)))
   {
     AfxMessageBox("Unable To open Wave File");
	 return;
   }
   mmckinfoParent.fccType = mmioFOURCC('W', 'A', 'V', 'E');
   if (mmioDescend(hmmio, &mmckinfoParent, NULL, MMIO_FINDRIFF))
   {
      AfxMessageBox("Unable To Intionlize MCI device");
      mmioClose(hmmio, 0);
      return;
   }

   mmckinfoSubchunk.ckid = mmioFOURCC('f', 'm', 't', ' ');
   if (mmioDescend(hmmio, &mmckinfoSubchunk, &mmckinfoParent,
      MMIO_FINDCHUNK))
   {
      AfxMessageBox("Unable To Intionlize MCI device");
      mmioClose(hmmio, 0);
      return;
   }
   dwFmtSize = mmckinfoSubchunk.cksize;
   hFormat = LocalAlloc(LMEM_MOVEABLE, LOWORD(dwFmtSize));
   if (!hFormat)
   {
      AfxMessageBox("Unable To Intionlize MCI device");
      mmioClose(hmmio, 0);
      return;
   }
   pFormat = (WAVEFORMATEX *) LocalLock(hFormat);
   if (!pFormat)
   {
      AfxMessageBox("Unable To Intionlize MCI device");
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return;
   }
   if (mmioRead(hmmio, (HPSTR) pFormat, dwFmtSize) != (LONG) dwFmtSize)
   {
	  AfxMessageBox("Unable To Intionlize MCI device");
	  LocalUnlock( hFormat );
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return ;
   }
   if (pFormat->wFormatTag != WAVE_FORMAT_PCM)
   {
	  AfxMessageBox("Unable To Intionlize MCI device");
	  LocalUnlock( hFormat );
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return ;
   }
   if (waveOutOpen(&hWaveOut, WAVE_MAPPER, pFormat, 0, 0L,
               WAVE_FORMAT_QUERY))
   {
  	  AfxMessageBox("Unable To Intionlize MCI device");
	  LocalUnlock( hFormat );
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return ;
   }

   mmioAscend(hmmio, &mmckinfoSubchunk, 0);
   mmckinfoSubchunk.ckid = mmioFOURCC('d', 'a', 't', 'a');
   if (mmioDescend(hmmio, &mmckinfoSubchunk, &mmckinfoParent,
      MMIO_FINDCHUNK))
   {
   	  AfxMessageBox("Unable To Intionlize MCI device");
	  LocalUnlock( hFormat );
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return ;
  }
   dwDataSize = mmckinfoSubchunk.cksize;
   if (dwDataSize == 0L)
   {
  	  AfxMessageBox("Unable To Intionlize MCI device");
	  LocalUnlock( hFormat );
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return ;
   }
   MMRESULT mmRet = waveOutOpen(&hWaveOut, WAVE_MAPPER,pFormat, (UINT)m_hWnd, 0L, CALLBACK_WINDOW);
   if ( mmRet != MMSYSERR_NOERROR) 
   {
  	  AfxMessageBox("Unable To Intionlize MCI device");
	  LocalUnlock( hFormat );
	  LocalFree( hFormat );
      mmioClose(hmmio, 0);
      return ;
   }
   wBlockSize = pFormat->nBlockAlign;
   LocalUnlock( hFormat );
   LocalFree( hFormat );
   lpData = (char*)GlobalAllocPtr(GMEM_MOVEABLE | GMEM_SHARE, dwDataSize );
   if (!lpData)
   {
      AfxMessageBox("Unable To Intionlize MCI device");
	  mmioClose(hmmio, 0);
      return ;
   }
   if(mmioRead(hmmio, lpData, dwDataSize) != (LONG) dwDataSize)
   {
      AfxMessageBox("Unable To Intionlize MCI device");
	  GlobalFreePtr( lpData );
      mmioClose(hmmio, 0);
      return ;
   }

   mmioClose(hmmio, 0);
   lpWaveHdr = (LPWAVEHDR)GlobalAllocPtr(GMEM_MOVEABLE | GMEM_SHARE,
                  (DWORD) sizeof(WAVEHDR));
   if (!lpWaveHdr)
   {
      GlobalFreePtr( lpData );
      AfxMessageBox("Unable To Intionlize MCI device");
      return ;
   }

   lpWaveHdr->lpData = lpData;
   lpWaveHdr->dwBufferLength = dwDataSize;
   lpWaveHdr->dwFlags = 0L;
   lpWaveHdr->dwLoops = 0L;
   if(waveOutPrepareHeader(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)))
   {
      AfxMessageBox("Unable To Intionlize MCI device");
      return ;
   }
   dwResult = waveOutWrite(hWaveOut, lpWaveHdr, sizeof(WAVEHDR));
   if (dwResult != 0)
   {
      waveOutUnprepareHeader( hWaveOut, lpWaveHdr, sizeof(WAVEHDR));
      AfxMessageBox("Unable To Play wave");
      return ;
   }
}


LRESULT CSndDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	if ( message == MM_WOM_DONE)
	{
		waveOutUnprepareHeader( (HWAVEOUT) wParam,
			(LPWAVEHDR) lParam, sizeof(WAVEHDR) );

		GlobalFreePtr( lpWaveHdr );
		GlobalFreePtr( lpData );
		waveOutClose( (HWAVEOUT) wParam );
		hWaveOut = NULL;
	}
	return CDialog::WindowProc(message, wParam, lParam);
}

void CSndDlg::OnButtonDisconnect() 
{
	m_TapiLine.HangupCall();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久久| 日韩不卡免费视频| 国产99精品视频| 精品福利视频一区二区三区| 奇米777欧美一区二区| 91精品国产综合久久精品| 天堂精品中文字幕在线| 欧美视频在线播放| 日韩成人一区二区| 欧美www视频| 国产精品资源在线观看| 国产精品亲子乱子伦xxxx裸| 成人高清视频免费观看| 亚洲乱码中文字幕| 欧美日韩国产免费一区二区| 日韩av中文字幕一区二区三区| 欧美高清dvd| 国产一区二区三区在线观看免费| 久久久久久9999| 波多野结衣在线aⅴ中文字幕不卡| 亚洲欧洲精品天堂一级| 欧美亚洲动漫精品| 秋霞午夜av一区二区三区 | 国产精品888| 精品国产三级电影在线观看| 国产成人精品亚洲午夜麻豆| 最新热久久免费视频| 欧美日本乱大交xxxxx| 韩国一区二区视频| 国产亚洲短视频| 色噜噜狠狠成人中文综合| 奇米色一区二区三区四区| 国产视频在线观看一区二区三区| 国产91在线看| 亚洲一区在线观看网站| 日韩精品一区国产麻豆| 成人黄色免费短视频| 午夜精品免费在线| 国产精品丝袜一区| 欧美性猛交xxxx乱大交退制版| 日本vs亚洲vs韩国一区三区| 欧美国产激情二区三区| 欧美日韩在线综合| 国产69精品久久99不卡| 亚洲成av人综合在线观看| 国产欧美一区二区精品久导航| 欧美视频一区二区三区| 成人免费高清在线观看| 日本成人在线网站| 亚洲色图欧洲色图| 久久综合色8888| 欧美日本在线播放| 99精品久久免费看蜜臀剧情介绍| 另类欧美日韩国产在线| 亚洲欧美电影一区二区| 欧美精品一区二区不卡 | 午夜视频在线观看一区二区| 国产清纯在线一区二区www| 91精品国产黑色紧身裤美女| 成人一二三区视频| 精品一区二区精品| 日日夜夜精品视频天天综合网| 国产精品国产精品国产专区不蜜| 精品国精品国产| 欧美久久久久久久久中文字幕| 不卡区在线中文字幕| 韩国一区二区三区| 蜜臀av一区二区| 亚洲国产另类av| 一区二区视频免费在线观看| 国产精品久久久久久久久免费相片 | 欧美变态tickling挠脚心| 欧美性受xxxx| 91免费观看国产| 91丨porny丨蝌蚪视频| 欧美精品一区二区三区视频 | 在线这里只有精品| 大尺度一区二区| 国内久久婷婷综合| 精品一区二区三区的国产在线播放| 午夜电影网一区| 一区二区在线观看视频| 日韩伦理免费电影| 国产精品福利一区二区| 中文字幕va一区二区三区| 国产亚洲成aⅴ人片在线观看 | 色综合天天天天做夜夜夜夜做| 国产高清在线精品| 国产美女在线观看一区| 国产一区二区看久久| 国产麻豆成人精品| 成人午夜私人影院| 成人禁用看黄a在线| 成人av资源网站| 成人av免费在线观看| 91色婷婷久久久久合中文| 91麻豆免费看片| 在线欧美小视频| 欧美亚洲一区二区三区四区| 欧美日韩国产片| 精品久久久久久最新网址| 精品少妇一区二区三区视频免付费 | 欧美一区二区成人6969| 日韩精品一区二区在线| 久久日一线二线三线suv| 久久综合九色综合欧美亚洲| 久久中文娱乐网| 国产精品欧美经典| 亚洲精品成人少妇| 日韩精品每日更新| 国产伦理精品不卡| 91视频国产资源| 欧美丰满高潮xxxx喷水动漫| 精品久久久久久最新网址| 中文字幕在线观看一区| 亚洲国产精品久久人人爱蜜臀 | 中文字幕佐山爱一区二区免费| 日韩理论片中文av| 日韩电影一区二区三区四区| 精品一区精品二区高清| 国产电影一区二区三区| 欧美日韩国产电影| 欧美高清在线一区| 亚洲第一综合色| 国产精品亚洲一区二区三区在线| 91理论电影在线观看| 日韩精品专区在线影院重磅| 亚洲国产精品ⅴa在线观看| 亚洲成人7777| 成人精品gif动图一区| 欧美福利视频导航| 亚洲天堂av一区| 日本成人在线不卡视频| 丰满亚洲少妇av| 91精品国产一区二区人妖| 国产精品福利一区| 国产乱码精品一品二品| 9191国产精品| 亚洲欧美日韩一区二区| 国产一区二区三区黄视频| 欧美午夜片在线看| 国产精品视频麻豆| 免费成人av在线| 91福利区一区二区三区| 久久久久国产精品麻豆ai换脸 | 日韩免费一区二区三区在线播放| 一区二区三区日韩精品视频| 丰满放荡岳乱妇91ww| 日韩午夜激情免费电影| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲中国最大av网站| 9l国产精品久久久久麻豆| 久久蜜桃一区二区| 麻豆一区二区三| 欧美日韩三级一区| 亚洲精品日韩专区silk| 高清不卡一区二区| 国产视频一区不卡| 国产一区在线观看麻豆| 日韩欧美中文字幕精品| 午夜视频一区二区| 欧美日韩精品福利| 一区二区高清在线| 色综合网色综合| 亚洲激情自拍视频| 91成人在线免费观看| 亚洲免费三区一区二区| 91天堂素人约啪| 亚洲丝袜制服诱惑| 一本一道久久a久久精品| 日韩理论片在线| 日本韩国视频一区二区| 一区二区三区在线观看欧美| 99精品国产99久久久久久白柏| 中文字幕成人网| 97精品国产露脸对白| 国产精品久久久久精k8| 波多野结衣中文字幕一区二区三区| 国产日韩精品一区| 国产aⅴ综合色| 日韩毛片高清在线播放| 欧美亚洲一区二区三区四区| 日韩精品一二区| 欧美一区二区三区在线观看| 免费视频最近日韩| 精品久久一二三区| 成人一区二区三区视频| 亚洲蜜臀av乱码久久精品| 欧美无砖砖区免费| 免费在线看一区| 久久九九久久九九| 波多野结衣中文字幕一区| 一区二区三区四区在线免费观看| 欧美日韩精品一区二区在线播放| 免费成人在线观看视频| 国产婷婷色一区二区三区四区 | 亚洲精品写真福利| 在线综合亚洲欧美在线视频| 国产一区二区在线影院| 国产精品久久影院|