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

📄 sound.h

📁 著名物理引擎Hawk的源代码
💻 H
字号:
/* win32/sound.h, HAWK game engine
 *
 * Copyright 1997-1998 by Phil Frisbie, Jr.
 * for Hawk Software
 *
 */

#ifndef SOUND_H
#define SOUND_H

#include <windows.h>
#include <dsound.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct
{
	DWORD			size;		/* Size of file */
	LPWAVEFORMATEX	wfxInfo;	/* Wave Header */
	LPBYTE			data;		/* Wave Bits */
}
WAVEFILE, *LPWAVEFILE;

typedef struct
{
	WAVEFILE	waveFile;		/* Standard WaveFile from WAVE.H */
	LPDIRECTSOUNDBUFFER DSB;	/* Ptr to dir. sound buffer */
	DWORD		freq;			/* Frequency */
	DWORD		pan;			/* Panning info (L to R balance) */
	DWORD		vol;			/* Volume */
	DWORD		TDvol;			/* The volume at the 3D sound source */
	BOOL		looped;			/* Looped = TRUE (plays repeatedly) */
	BOOL		playing;		/* Is this wave playing? */
	OBJECT		*obj;			/* pointer to OBJECT, for 3D sounds */
} SNDWAVEFILE;

/* external functions */
int soundLoad(char *name);
void playSoundi(int sound, float pan, float volume, BOOL looped);
void playSound3Di(int sound, OBJECT *obj, float volume, BOOL looped);
void playSound(char *name, float pan, float volume);
void sndStop(int wave);
void sndUpdate(void);

/* internal functions */
BOOL sndEnable(HWND	hwnd);
void sndDisable(void);
int sndLoadWave(char *name, BOOL is_static);
void sndUnload(int wave);
int sndPlay3D(int wave, BOOL looped, OBJECT *obj);
BOOL sndIsPlaying(int wave);
int sndGetFrequency(int wave);
int sndGetBalance(int wave);
int sndGetVolume(int wave);
BOOL sndGetLooping(int wave);
void sndSetFrequency(int wave, int frequency);
void sndSetBalance(int wave, int balance);
void sndSetVolume(int wave, int volume);
void sndSetLooping(int wave, BOOL looping);

#ifdef __cplusplus
}
#endif

#endif /* SOUND_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -