📄 sound.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 + -