📄 openalbuffer.h
字号:
// OpenALBuffer.h: interface for the COpenALBuffer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_OPENALBUFFER_H__B1B58A49_A951_4040_A7C3_992679A44124__INCLUDED_)
#define AFX_OPENALBUFFER_H__B1B58A49_A951_4040_A7C3_992679A44124__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <al.h> // main openAL header file
#include <alu.h> // Open AL utilities header
#include <alut.h> // Open AL utilities header
#include <string>
#include "RefCountPtr.h"
namespace AudioEngine {
class COpenALBuffer;
// smart pointer to COpenALBuffer
class COpenALBufferPtr : public CRefCountPtr<COpenALBuffer>
{
public:
explicit COpenALBufferPtr(COpenALBuffer* p = NULL);
void Release();
};
class COpenALBuffer
{
public:
friend class COpenALManager;
COpenALBuffer();
virtual ~COpenALBuffer();
void LoadWave(std::string filename);
// properties
unsigned int GetFrequency() { return(m_Freq); }
unsigned int GetBits() {
ALint value;
alGetBufferi(m_ID, AL_BITS, &value);
return(value);
}
unsigned int GetChannels() {
ALint value;
alGetBufferi(m_ID, AL_CHANNELS, &value);
return(value);
}
unsigned int GetSize() { return(m_Size); }
unsigned int GetID() { return(m_ID); }
protected:
int m_Format; // format of wave loaded in this buffer
unsigned int m_Size; // size of wave
unsigned int m_Freq; // sampling rate
unsigned int m_ID; // openAL buffer ID
char m_Loop; // looping indicator
};
} // namespace
#endif // !defined(AFX_OPENALBUFFER_H__B1B58A49_A951_4040_A7C3_992679A44124__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -