#if !defined(AFX_PAGEAUDIOOUTSETTINGS_H__B90A1592_9846_4E56_9F6D_60A1AFFBEB44__INCLUDED_) #define AFX_PAGEAUDIOOUTSETTINGS_H__B90A1592_9846_4E56_9F6D_60A1AFFBEB44__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // PageAudioOutSettings.h : header file // #define AUDIO_OUT_BUFFER_SIZE 8192 #define AUDIO_OUT_BUFFER_NUM 10 ///////////////////////////////////////////////////////////////////////////// // CPageAudioOutSettings dialog #include "ParamDlg.h" class CPageAudioOutSettings : public CParamDlg { // Construction public: CPageAudioOutSettings(CWnd* pParent, CMgrNVE* pMgrCM, CConnectionManager *pConnMgr); // standard constructor // Dialog Data //{{AFX_DATA(CPageAudioOutSettings) enum { IDD = IDD_PG_AUDIO_OUT_SETTINGS }; CButton m_chkMic; CComboBox m_cbAudioCodec; CComboBox m_cbSampleRate; BOOL m_bAudEnable; int m_uAudioGain; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CPageAudioOutSettings) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation BOOL SaveSetting(); BOOL ResetSetting(); BOOL UpdateSetting(); protected: // Generated message map functions //{{AFX_MSG(CPageAudioOutSettings) virtual BOOL OnInitDialog(); afx_msg void OnBtnReset(); afx_msg void OnReleasedcaptureSldAudioOutGain(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnChkAudOutEnable(); afx_msg void OnDestroy(); afx_msg void OnBtnAoutApply(); afx_msg void OnBtnBrowse(); //}}AFX_MSG DECLARE_MESSAGE_MAP() public: void StopAudioOut(); BOOL SendAudioOutData(COD5_DATA_INFO_EX* pData); BOOL AudioOutMicStart(); BOOL AudioOutMicStop(); BOOL MakeAudioOutData(WAVEHDR* pWaveHdr, COD5_DATA_INFO_EX* pData); private: BOOL SetControlProperty(UINT ctrl_slider, int value); BOOL SetAudioGain(ULONG uValue); static DWORD WINAPI ThreadAudioOutStub(LPVOID lpParam); DWORD WINAPI ThreadAudioOut(LPVOID lpParam); static void CALLBACK WaveInProcStub(HWAVEIN hwi, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2); void WaveInProc(HWAVEIN hwi, UINT uMsg, DWORD dwParam1, DWORD dwParam2); private: INet5 *m_pNet5Api; ICod5 *m_pCod5Api; NVE_MEDIA_SETTINGS *m_pMediaSettings; CUserThread m_ThreadAudOut; IMessageManager *m_pMsgMgr; NVE_RTSP_VALUE m_RtspValue[NVE_MAX_RTSP_VALUE]; CRITICAL_SECTION m_CritAudioOut; HWAVEIN m_hWaveIn; WAVEHDR m_InHdr[AUDIO_OUT_BUFFER_NUM]; char *m_pInData[AUDIO_OUT_BUFFER_NUM]; BOOL m_bRunning; ULONG m_uBufferSize; }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_PAGEAUDIOOUTSETTINGS_H__B90A1592_9846_4E56_9F6D_60A1AFFBEB44__INCLUDED_)