91 lines
2.2 KiB
C++
91 lines
2.2 KiB
C++
/**
|
|
@file JCWaveParser.cpp
|
|
@brief
|
|
@author James
|
|
@version 1.0
|
|
@date 2014_11_26
|
|
*/
|
|
|
|
#include "JCWaveParser.h"
|
|
#pragma warning (disable: 4996)
|
|
|
|
namespace laya
|
|
{
|
|
//------------------------------------------------------------------------------
|
|
JCWaveParser* JCWaveParser::m_sWaveParser = NULL;
|
|
//------------------------------------------------------------------------------
|
|
JCWaveParser::JCWaveParser()
|
|
{
|
|
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
JCWaveParser::~JCWaveParser()
|
|
{
|
|
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
JCWaveParser* JCWaveParser::GetInstance( void )
|
|
{
|
|
if( m_sWaveParser == NULL )
|
|
{
|
|
m_sWaveParser = new JCWaveParser();
|
|
}
|
|
return m_sWaveParser;
|
|
}
|
|
//-----------------------------------------------------------------------------
|
|
void JCWaveParser::DelInstance( void )
|
|
{
|
|
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
JCWaveInfo* JCWaveParser::GetWaveInfoFromFile( const char* p_sFileName )
|
|
{
|
|
JCWaveInfo* pWaveInfo = new JCWaveInfo();
|
|
bool bRet = pWaveInfo->LoadData( p_sFileName );
|
|
if( bRet )
|
|
{
|
|
return pWaveInfo;
|
|
}
|
|
return NULL;
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
JCWaveInfo* JCWaveParser::GetWaveInfoFromBuffer( unsigned char* p_sBuffer, int p_nBufferSize )
|
|
{
|
|
JCWaveInfo* pWaveInfo = new JCWaveInfo();
|
|
bool bRet = pWaveInfo->LoadData( p_sBuffer,p_nBufferSize );
|
|
if( bRet )
|
|
{
|
|
return pWaveInfo;
|
|
}
|
|
return NULL;
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
void JCWaveParser::TestWave( const char* p_sFileName,const char* p_sOutFileName )
|
|
{
|
|
JCWaveInfo* pInfo = GetWaveInfoFromFile( p_sFileName );
|
|
if( pInfo )
|
|
{
|
|
FILE* fp = fopen( p_sOutFileName,"a+" );
|
|
char sBuf[128];
|
|
fputs( "{", fp );
|
|
|
|
for( unsigned int i = 0 ; i < pInfo->m_nRealDataSize; i++ )
|
|
{
|
|
memset( sBuf,0,128 );
|
|
if( i == pInfo->m_nRealDataSize -1 )
|
|
{
|
|
sprintf( sBuf,"%d", pInfo->m_pData[i] );
|
|
}
|
|
else
|
|
{
|
|
sprintf( sBuf,"%d,", pInfo->m_pData[i] );
|
|
}
|
|
fputs( sBuf,fp );
|
|
}
|
|
fputs( "};", fp );
|
|
fclose( fp );
|
|
}
|
|
}
|
|
}
|
|
//-----------------------------END FILE--------------------------------
|