Files
LayaNative2.0/Conch/source/common/resource/Audio/JCWaveParser.cpp
T
2020-11-11 16:17:13 +08:00

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--------------------------------