⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 openalbuffer.h

📁 游戏音频程序设计-Beginning.Game.Audio.Programming
💻 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 + -