mirror of https://github.com/axmolengine/axmol.git
97 lines
2.0 KiB
C
97 lines
2.0 KiB
C
|
#ifndef _SOUNDPLAYER_UPHONE_H_
|
|||
|
#define _SOUNDPLAYER_UPHONE_H_
|
|||
|
|
|||
|
#include "TG3.h"
|
|||
|
#include "TCOM_MediaPlayer_Method.h"
|
|||
|
#include "TCOM_Generic_DataType.h"
|
|||
|
#include "../../Export.h"
|
|||
|
|
|||
|
class EXPORT_DLL SoundPlayer
|
|||
|
{
|
|||
|
public:
|
|||
|
SoundPlayer();
|
|||
|
~SoundPlayer();
|
|||
|
|
|||
|
void Release();
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
@param pFileName <EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
|
|||
|
@param nTimes <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵΪ 1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void PlaySoundFile(const char* pFileName, Int32 nTimes = 1);
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
@param
|
|||
|
*/
|
|||
|
void PlaySoundFromMem(UInt8* pData, Int32 nSize, Int32 nTimes = 1);
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
@oaram nValue <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0~100 ֮<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetVolumeValue(Int32 nValue);
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void Pause();
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void Resume();
|
|||
|
|
|||
|
/**
|
|||
|
@brief ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void Stop();
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void Rewind();
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
@param bMute <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void Mute(bool bMute);
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
bool IsPlaying();
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>뵽 buffer <EFBFBD><EFBFBD>
|
|||
|
@param buffer [out] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
@param pszFilePath Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
|
|||
|
@return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ >= 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
Int32 DecodeFile(void* buffer, Int32 bufferLen, const char* pszFilePath);
|
|||
|
|
|||
|
/**
|
|||
|
@brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ƶ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
|
|||
|
@param <EFBFBD><EFBFBD>Ƶ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
@return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>buffer<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1
|
|||
|
*/
|
|||
|
Int32 GetFileBufferSize(const char* pszFilePath);
|
|||
|
|
|||
|
private:
|
|||
|
Boolean OpenAudioFile(const char* pszFilePath);
|
|||
|
|
|||
|
private:
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCOM_MediaPlayer_Method_Play *m_pPlayer;
|
|||
|
TCOM_DataType_SysFile *m_pMediaFile;
|
|||
|
|
|||
|
Boolean m_bPaused;
|
|||
|
TCOM_MethodEmun m_MethodEmun; // <20><><EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD>
|
|||
|
|
|||
|
TUChar m_fileName[MAX_PATH];
|
|||
|
};
|
|||
|
|
|||
|
#endif
|