📄 audiodecoder.cpp
字号:
/**************************************************************************************
* *
* *
**************************************************************************************/
#include "AudioDecoder.h"
MediaAudioDecoder::MediaAudioDecoder()
{
this->acmDecoder = new MediaAudioDecoderACM();
this->mp3Decoder = new MediaAudioDecoderMP3();
this->decoder = NULL;
}
MediaAudioDecoder::~MediaAudioDecoder()
{
delete this->acmDecoder;
delete this->mp3Decoder;
}
media_type_t MediaAudioDecoder::GetType()
{
return MEDIA_TYPE_AUDIO_DECODER;
}
char *MediaAudioDecoder::GetName()
{
if(this->decoder)
return this->decoder->GetName();
return "Audio Decoder Wrapper";
}
MP_RESULT MediaAudioDecoder::Connect(MediaItem *item)
{
if(this->acmDecoder->Connect(item) == MP_RESULT_OK) {
this->decoder = (MediaItemAudioDecoder *) this->acmDecoder;
return MP_RESULT_OK;
}
if(this->mp3Decoder->Connect(item) == MP_RESULT_OK) {
this->decoder = (MediaItemAudioDecoder *) this->mp3Decoder;
return MP_RESULT_OK;
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaAudioDecoder::ReleaseConnections()
{
if(this->decoder) {
this->decoder->ReleaseConnections();
}
this->decoder = NULL;
return MP_RESULT_OK;
}
DWORD MediaAudioDecoder::GetCaps()
{
return 0;
}
MP_RESULT MediaAudioDecoder::Configure(HINSTANCE hInstance, HWND hwnd)
{
return MP_RESULT_ERROR;
}
WAVEFORMATEX *MediaAudioDecoder::GetAudioFormat()
{
if(this->decoder)
return this->decoder->GetAudioFormat();
return NULL;
}
MP_RESULT MediaAudioDecoder::EmptyAudioBuffer()
{
if(this->decoder)
return this->decoder->EmptyAudioBuffer();
return MP_RESULT_ERROR;
}
unsigned int MediaAudioDecoder::Decompress(void *buffer, unsigned int size)
{
if(this->decoder)
return this->decoder->Decompress(buffer, size);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -