示例#1
0
int Audio::startWAVDump(void)
{
	STUB;
#if 0
	char Name[1024] = "";
	
	if (!Sound_Is_Playing || !Game)
		return 0;
	
	if (WAV_Dumping)
	{
		draw->writeText("WAV sound is already dumping", 1000);
		return 0;
	}
	
	strcpy(Name, Dump_Dir);
	strcat(Name, Rom_Name);
	
	if (WaveCreateFile(Name, &MMIOOut, &MainWfx, &CkOut, &CkRIFF))
	{
		draw->writeText("Error in WAV dumping", 1000);
		return 0;
	}
	
	if (WaveStartDataWrite(&MMIOOut, &CkOut, &MMIOInfoOut))
	{
		draw->writeText("Error in WAV dumping", 1000);
		return 0;
	}
	
	draw->writeText("Starting to dump WAV sound", 1000);
	WAV_Dumping = 1;
#endif
	return 1;
}
示例#2
0
文件: wave.c 项目: YuGiOhJCJ/netgens
int
WaveSaveFile (TCHAR * pszFileName,	// (IN) 
	      UINT cbSize,	// (IN) 
	      DWORD cSamples,	// (IN) 
	      WAVEFORMATEX * pwfxDest,	// (IN) 
	      BYTE * pbData	// (IN) 
  )
{
  HMMIO hmmioOut;
  MMCKINFO ckOut;
  MMCKINFO ckOutRIFF;
  MMIOINFO mmioinfoOut;
  UINT cbActualWrite;
  int nError;

  if ((nError =
       WaveCreateFile (pszFileName, &hmmioOut, pwfxDest, &ckOut,
		       &ckOutRIFF)) != 0)
    {
      goto ERROR_SAVING;
    }

  if ((nError = WaveStartDataWrite (&hmmioOut, &ckOut, &mmioinfoOut)) != 0)
    {
      goto ERROR_SAVING;
    }

  if ((nError =
       WaveWriteFile (hmmioOut, cbSize, pbData, &ckOut, &cbActualWrite,
		      &mmioinfoOut)) != 0)
    {
      goto ERROR_SAVING;
    }

  if ((nError =
       WaveCloseWriteFile (&hmmioOut, &ckOut, &ckOutRIFF, &mmioinfoOut,
			   cSamples)) != 0)
    {
      goto ERROR_SAVING;
    }

ERROR_SAVING:
  return (nError);
}
示例#3
0
//-----------------------------------------------------------------------------
// Name: Reset()
// Desc: Resets the internal m_ckOut pointer so writing starts from the 
//       beginning of the file again 
//-----------------------------------------------------------------------------
HRESULT CWaveSoundWrite::Reset()
{
    return WaveStartDataWrite( &m_hmmioOut, &m_ckOut,
                               &m_mmioinfoOut );
}