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

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

?? audioapp.cpp

?? windows embedded ce (wince6.0)上錄音事例程序源碼。可編成.exe在系統(tǒng)上運行。
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
#include <windows.h>
#include <mmsystem.h>
#include "CWaveFile.h"


#define MAX_FILENAME_LENGTH 200
#define WM_PLAY_WAVEFILE    (WM_USER + 1)
#define WM_RECORD_WAVEFILE  (WM_USER + 2)
#define WM_RECORD_STOP  (WM_USER + 3)
#define WM_PLAY_STOP    (WM_USER + 4)
#define WM_RECORD_PAUSE    (WM_USER + 5)
#define WM_PLAY_PAUSE  (WM_USER + 6)
#define WM_RECORD_FINISHED  (WM_USER + 7)
#define WM_PLAYBACK_FINISHED  (WM_USER + 8)

#define PLAY_BUTTON_ID 100
#define PLAY_EDITBOX_ID 101
#define PLAY_STOP_BUTTON_ID 102
#define PLAY_PAUSE_BUTTON_ID 103
#define RECORD_BUTTON_ID 104
#define RECORD_EDITBOX_ID 105
#define RECORD_STOP_BUTTON_ID 106
#define RECORD_PAUSE_BUTTON_ID 107


LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	RECT rect;

       static CWaveFile WaveFile;
       static CWaveFile RecordFile;
	static WAVEHDR wh1, wh2;
       static WAVEHDR whr1, whr2; // the r is for recording
       LPWAVEHDR lpwhdr;
	static LPWAVEFORMATEX pwfx;
	static LPWAVEFORMATEX pwfxRec;
       static WAVEFORMATEX wfxRec;
	MMRESULT mmRtn;
	DWORD nBytes = 0;
	static HRESULT hResult;
	BOOL bRet = true;
	static HWAVEOUT hwo;
       static HWAVEIN hwi;
	DWORD dwDeviceID = 0; // WAVE DEVICE ID to use
       int n = 0; // hold number of wavedevices
       static bool bIsPlaybackPaused = false;
       static bool bIsRecordingPaused = false;
       static bool bStopPlaying = false;
       static bool bStopRecording = false;
       char* data1 = NULL;
       char* data2 = NULL;
       char* playData1 = NULL;
       char* playData2 = NULL;
       static int nBufSize;
       static int nPlaybackBufSize;
       DWORD dwBytesRecorded = 0;
       static DWORD dwBytesWritten;
       static DWORD dwNumCaptureBuffers;
       static DWORD dwNumPlaybackBuffers;

       // GUI components
       static HWND hwndPlayButton;
       static HWND hwndPlayEditBox;
       static HWND hwndPlayStopButton;
       static HWND hwndPlayPauseButton;
       static HWND hwndRecordButton;
       static HWND hwndRecordEditBox;
       static HWND hwndRecordStopButton;
       static HWND hwndRecordPauseButton;
       LPCTSTR pszWAVFilename = NULL;

       int height;
       int width;

	switch(message)
	{
	case WM_CREATE:
            height = GetSystemMetrics(SM_CYSCREEN);
            width = GetSystemMetrics(SM_CXSCREEN);

            // set up the Play Wave Button
            hwndPlayButton = CreateWindow(TEXT("BUTTON"),   // class name
                                                             TEXT("Play Wave"), // window name/text
                                                             WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // style
                                                             10, // x
                                                             10, // y
                                                             75, // width
                                                             25, // height
                                                             hwnd, // hwndParent
                                                             (HMENU)PLAY_BUTTON_ID, // child window identifier
                                                             ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                             NULL);
            // check to make sure CreateWindow Didn't Fail

            // set up the WaveFile Name Edit Box
            hwndPlayEditBox = CreateWindow(TEXT("EDIT"), // class name
                                                               TEXT("release\\22050_16b_S.wav"), // window name/text
                                                               WS_CHILD | WS_VISIBLE | ES_LEFT | WS_BORDER, // style
                                                               100, // x
                                                               10, // y
                                                               200, // width
                                                               25, //height
                                                               hwnd, // hwndParent
                                                               (HMENU)PLAY_EDITBOX_ID, // child window identifier
                                                               ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                               NULL);

            // check to make sure CreateWindow Didn't Fail

            // set up the Stop Playback Button
            hwndPlayStopButton = CreateWindow(TEXT("BUTTON"), // class name
                                                               TEXT("Stop"), // window name/text
                                                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // style
                                                               240, // x
                                                               100, // y
                                                               60, // width
                                                               25, //height
                                                               hwnd, // hwndParent
                                                               (HMENU)PLAY_STOP_BUTTON_ID, // child window identifier
                                                               ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                               NULL);

            // check to make sure CreateWindow Didn't Fail


             // set up the Pause Playback Button
            hwndPlayPauseButton = CreateWindow(TEXT("BUTTON"), // class name
                                                               TEXT("Pause"), // window name/text
                                                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // style
                                                               420, // x
                                                               10, // y
                                                               60, // width
                                                               25, //height
                                                               hwnd, // hwndParent
                                                               (HMENU)PLAY_PAUSE_BUTTON_ID, // child window identifier
                                                               ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                               NULL);

            // check to make sure CreateWindow Didn't Fail


            // set up the Record Wave Button
            hwndRecordButton = CreateWindow(TEXT("BUTTON"), // class name
                                                                 TEXT("Record Wave"), // window name/text
                                                                 WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // style
                                                                 10, // x
                                                                 45, // y
                                                                 100, // width
                                                                 25, // height
                                                                 hwnd, // hwndParent
                                                                 (HMENU)RECORD_BUTTON_ID, // child window identifier
                                                                 ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                                 NULL);

            // check to make sure CreateWindow Didn't Fail

            // set up the Record to File Name Edit box
            hwndRecordEditBox = CreateWindow(TEXT("EDIT"), // class name
                                                               TEXT("release\\MyRecording.wav"), // window name/text
                                                               WS_CHILD | WS_VISIBLE | ES_LEFT | WS_BORDER, // style
                                                               120, // x
                                                               45, // y
                                                               200, // width
                                                               25, //height
                                                               hwnd, // hwndParent
                                                               (HMENU)RECORD_EDITBOX_ID, // child window identifier
                                                               ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                               NULL);

            // check to make sure CreateWindow Didn't Fail

            // set up the stop recording button
            hwndRecordStopButton = CreateWindow(TEXT("BUTTON"), // class name
                                                               TEXT("Stop"), // window name/text
                                                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // style
                                                               240, // x
                                                               145, // y
                                                               60, // width
                                                               25, //height
                                                               hwnd, // hwndParent
                                                               (HMENU)RECORD_STOP_BUTTON_ID, // child window identifier
                                                               ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                               NULL);

            // check to make sure CreateWindow Didn't Fail

            // set up the Pause Recording Button
            hwndRecordPauseButton = CreateWindow(TEXT("BUTTON"), // class name
                                                               TEXT("Pause"), // window name/text
                                                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // style
                                                               420, // x
                                                               45, // y
                                                               60, // width
                                                               25, //height
                                                               hwnd, // hwndParent
                                                               (HMENU)RECORD_PAUSE_BUTTON_ID, // child window identifier
                                                               ((LPCREATESTRUCT)lParam)->hInstance, // hInstance
                                                               NULL);

            // check to make sure CreateWindow Didn't Fail


		return 0;
		break;
       case WM_COMMAND:
              if(LOWORD(wParam) == PLAY_BUTTON_ID && HIWORD(wParam) == BN_CLICKED )
              {
                    // Play Wave button was clicked

                   // read the file name from the edit box and send the info in the WM_PLAY_WAVEFILE message
                    int iTextLength = GetWindowTextLength(hwndPlayEditBox);
                    if(0 == iTextLength)
                        {
                            // control has no text
                            MessageBox(hwnd, TEXT("Edit Box has no text. No WAV file to play."), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);
                            return 0;
                        }
                    else if(MAX_FILENAME_LENGTH < iTextLength)
                        {
                             // filename exceeds max length of filename
                            MessageBox(hwnd, TEXT("File Name Length exceeds maximum."), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);
                            return 0;
                        }

                    TCHAR szText[MAX_FILENAME_LENGTH];

                    //---- zero a buffer before using it
                    memset( szText, '\0', sizeof(szText)/sizeof(szText[0]) );

                    int iStringLength = GetWindowText(hwndPlayEditBox, szText, sizeof(szText)/sizeof(szText[0]));
                    if(0 == iStringLength)
                        {
                             // control has no text
                            MessageBox(hwnd, TEXT("Edit Box returned no text. No WAV file to play"), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);
                            return 0;
                        }

                    // Disable the button so you can't press play again until we are done playing the file
                    EnableWindow(hwndPlayButton, false);

                    // Send message to the window
                    SendMessage(hwnd, WM_PLAY_WAVEFILE, iStringLength, (LPARAM)szText);
              }

              else if(LOWORD(wParam) == RECORD_BUTTON_ID && HIWORD(wParam) == BN_CLICKED  )
              {
                  // Record Wave button was clicked

                  // read the file name from the edit box and send the info in the WM_RECORD_WAVEFILE message
                    int iTextLength = GetWindowTextLength(hwndRecordEditBox);
                    if(0 == iTextLength)
                        {
                            // control has no text
                            MessageBox(hwnd, TEXT("Edit Box has no text. No WAV file to play."), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);
                            return 0;
                        }
                    else if(MAX_FILENAME_LENGTH < iTextLength)
                        {
                             // filename exceeds max length of filename
                            MessageBox(hwnd, TEXT("File Name Length exceeds maximum."), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);
                            return 0;
                        }

                    TCHAR szText[MAX_FILENAME_LENGTH];

                    //---- zero a buffer before using it
                    memset( szText, '\0', sizeof(szText)/sizeof(szText[0]) );

                    int iStringLength = GetWindowText(hwndRecordEditBox, szText, sizeof(szText)/sizeof(szText[0]));
                    if(0 == iStringLength)
                        {
                             // control has no text
                            MessageBox(hwnd, TEXT("Edit Box returned no text. No WAV file to play"), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);
                            return 0;
                        }

                    // Disable the button so you can't press record again until we are done playing the file
                    EnableWindow(hwndRecordButton, false);

                    // Send message to the window
                    SendMessage(hwnd, WM_RECORD_WAVEFILE, iStringLength, (LPARAM)szText);
                }

              else if(LOWORD(wParam) == RECORD_STOP_BUTTON_ID && HIWORD(wParam) == BN_CLICKED)
              {
                    // Stop Recording Button was clicked.
                    SendMessage(hwnd, WM_RECORD_STOP, NULL, NULL);
              }

              else if(LOWORD(wParam) == PLAY_STOP_BUTTON_ID && HIWORD(wParam) == BN_CLICKED)
              {
                    // Stop Playing Button was clicked.
                    SendMessage(hwnd, WM_PLAY_STOP, NULL, NULL);
              }

               else if(LOWORD(wParam) == RECORD_PAUSE_BUTTON_ID && HIWORD(wParam) == BN_CLICKED)
              {
                    // Pause Recording Button was clicked.
                    SendMessage(hwnd, WM_RECORD_PAUSE, NULL, NULL);
              }

              else if(LOWORD(wParam) == PLAY_PAUSE_BUTTON_ID && HIWORD(wParam) == BN_CLICKED)
              {
                    // Pause Playing Button was clicked.
                    SendMessage(hwnd, WM_PLAY_PAUSE, NULL, NULL);
              }


              return 0;
              break;
        case WM_RECORD_WAVEFILE:
              // Record to wavefile

             // Record to the given filename
             pszWAVFilename = (LPTSTR)lParam;

             if(NULL == pszWAVFilename)
                {
                     // no/invalid file name given
                     MessageBox(hwnd, TEXT("WAVE File Name was NULL"), TEXT("NotesApp"), MB_OK | MB_ICONSTOP);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影视频在线| 成人欧美一区二区三区黑人麻豆| 亚洲欧美色综合| 99久久精品国产观看| 国产精品成人免费| 色婷婷精品久久二区二区蜜臂av | 亚洲理论在线观看| 成人av资源站| 亚洲激情一二三区| 欧美日韩精品欧美日韩精品一综合| 亚洲国产一区二区三区| 3751色影院一区二区三区| 麻豆国产精品777777在线| 国产视频在线观看一区二区三区 | 日韩一区二区不卡| 国产一区二区中文字幕| 国产精品系列在线| 欧美在线观看你懂的| 日本 国产 欧美色综合| 久久久精品免费网站| 91天堂素人约啪| 日本亚洲免费观看| 国产精品日日摸夜夜摸av| 91福利精品视频| 美女免费视频一区| 国产精品国产三级国产普通话蜜臀 | 中文字幕中文字幕在线一区| 91福利国产精品| 国产精品亚洲视频| 一区二区三区中文在线观看| 精品国产免费一区二区三区香蕉| 成人激情小说乱人伦| 天天色 色综合| 18欧美亚洲精品| 日韩欧美另类在线| 91黄色免费看| 丰满放荡岳乱妇91ww| 日韩国产一区二| 国产精品成人免费在线| 精品国产一区二区三区av性色| 91色视频在线| 国产成人av一区二区三区在线 | a级精品国产片在线观看| 日韩二区三区四区| 亚洲精品欧美二区三区中文字幕| 精品国产一区二区亚洲人成毛片| 欧美午夜在线一二页| 福利一区二区在线观看| 免费一级片91| 亚洲成人你懂的| 亚洲乱码国产乱码精品精可以看| 26uuu久久综合| 欧美一级搡bbbb搡bbbb| 91精品福利在线| 成人黄色av电影| 国产91丝袜在线播放| 精品一区二区影视| 日韩黄色一级片| 亚洲成人在线网站| 亚洲影视在线播放| 亚洲日本在线观看| 国产精品色哟哟| 国产日韩欧美不卡| 精品成人a区在线观看| 91麻豆精品91久久久久久清纯| 在线观看欧美日本| 91久久精品午夜一区二区| av在线这里只有精品| 成人永久aaa| 懂色一区二区三区免费观看| 国产一区二区调教| 精久久久久久久久久久| 日本成人在线看| 日本欧美久久久久免费播放网| 婷婷成人综合网| 免费成人av资源网| 另类小说色综合网站| 九九视频精品免费| 国产精品中文有码| 成人一区在线观看| 99视频精品在线| 一本久久a久久精品亚洲| 一本色道久久综合精品竹菊| 在线观看不卡视频| 欧美一区二区在线播放| 欧美日韩精品免费| 欧美日韩一区国产| 日韩亚洲欧美在线| 精品国产凹凸成av人导航| 精品国产91亚洲一区二区三区婷婷| 2021中文字幕一区亚洲| 久久女同精品一区二区| 国产欧美精品国产国产专区 | 精品一区二区三区视频在线观看| 麻豆国产欧美日韩综合精品二区| 国产在线播放一区| 91视频免费播放| 精品视频1区2区3区| 日韩视频一区在线观看| 国产午夜精品一区二区三区嫩草 | 国产精品三级av| 亚洲蜜桃精久久久久久久| 午夜亚洲国产au精品一区二区| 日本sm残虐另类| 成人免费视频网站在线观看| 日本久久精品电影| 欧美一区日本一区韩国一区| 国产嫩草影院久久久久| 一区二区三区欧美| 美女尤物国产一区| 97精品视频在线观看自产线路二| 精品视频999| 亚洲国产精品99久久久久久久久| 一区二区不卡在线播放| 奇米在线7777在线精品| 成人国产精品免费观看| 欧美人狂配大交3d怪物一区| 精品国产乱码久久久久久闺蜜 | 亚洲综合激情另类小说区| 日本不卡高清视频| 99精品久久只有精品| 欧美一级久久久久久久大片| 中文字幕中文乱码欧美一区二区| 亚洲成人激情综合网| 成人免费看视频| 欧美一级二级在线观看| 亚洲色大成网站www久久九九| 蜜桃av噜噜一区二区三区小说| 不卡的av在线| 精品日产卡一卡二卡麻豆| 亚洲欧洲国产日韩| 久久91精品国产91久久小草| 一本大道久久a久久综合婷婷 | 国产婷婷一区二区| 午夜视黄欧洲亚洲| 91在线一区二区三区| wwww国产精品欧美| 污片在线观看一区二区| 成人av免费观看| 欧美精彩视频一区二区三区| 免费观看30秒视频久久| 色欧美片视频在线观看| 丝袜a∨在线一区二区三区不卡| 日韩视频在线你懂得| 91视视频在线观看入口直接观看www | 色综合久久精品| 日韩免费高清电影| 日韩精品每日更新| 欧美三级电影在线看| 18欧美亚洲精品| 成人免费毛片嘿嘿连载视频| www精品美女久久久tv| 美女视频一区在线观看| 欧美精品免费视频| 樱花草国产18久久久久| 91丨porny丨中文| 国产精品国产自产拍高清av王其 | 国产精品国模大尺度视频| 国内精品嫩模私拍在线| 欧美日韩久久一区二区| 一区二区三区波多野结衣在线观看| av高清不卡在线| 精品国产91久久久久久久妲己| 国产一区二区三区免费| 欧美成人精品高清在线播放 | 亚洲一区在线电影| 日本韩国精品一区二区在线观看| 麻豆国产精品一区二区三区 | 欧美精品日韩精品| 久久综合色鬼综合色| 91国偷自产一区二区三区观看 | 男女男精品网站| 蜜桃av一区二区在线观看| 北条麻妃一区二区三区| 欧洲国内综合视频| 99久久99久久精品国产片果冻| 日韩激情中文字幕| 国产精品超碰97尤物18| 日韩一区二区影院| 欧美日韩不卡一区| 成人app在线观看| 99re热视频精品| 午夜亚洲国产au精品一区二区| 亚洲一区二区三区在线| 国产精品嫩草99a| 亚洲欧美日韩在线| 亚洲视频网在线直播| 欧美日韩在线三区| 国产亚洲精品久| 精品理论电影在线| 精品日韩一区二区三区 | 日韩激情视频在线观看| 亚洲综合在线免费观看| 国产丝袜欧美中文另类| 国产精品视频免费看| 一区二区三区成人| 亚洲国产精品一区二区www | 色噜噜久久综合| 一本大道av一区二区在线播放| 51久久夜色精品国产麻豆|