Files
XCEngine/MVS/Music fluctuations/source/audio/AudioManager.h

50 lines
1.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#pragma once
#include<iostream>
#include"WavFileReader.h"
#include"AudioClip.h"
#include"AudioSource.h"
#include"AudioEngine.h"
#pragma comment(lib,"winmm.lib")
class AudioManager
{
public:
AudioManager(AudioEngine& p_audioEngine);
~AudioManager();
AudioSource* Load(char* p_fileName);
void Update(double p_deltaTime);
private:
AudioEngine& m_audioEngine;
AudioSource* m_audioSource{ nullptr }; //TODO::每次play的时候都得增加一个
};
/*
PlaySound 函数是Windows操作系统中的一个API函数用于播放声音文件或系统声音。它可以播放.wav文件、系统声音或内存中的声音数据。以下是与 PlaySound 相关的一些相关API函数和标志
PlaySound函数
cpp
Copy code
BOOL PlaySound(
LPCTSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);
pszSound指定要播放的声音文件的文件名或系统声音的名称。可以为NULL表示停止播放声音。
hmod保留为NULL。
fdwSound指定播放声音的标志可以是以下之一或它们的组合
SND_SYNC播放声音并等待声音播放完毕。
SND_ASYNC以异步方式播放声音不等待声音播放完毕。
SND_FILENAMEpszSound 参数是一个文件名。
SND_RESOURCEpszSound 参数是一个资源名称或标识符。
其他标志:用于控制声音的行为,例如循环播放、停止、替换等。
waveOut 函数族用于播放音频数据具有更高级的音频处理功能例如音频缓冲区管理和音量控制。PlaySound 函数实际上是基于 waveOut 函数族实现的。
mciSendString函数用于与多媒体设备交互可以用于播放音频和视频文件以及控制多媒体设备的状态。
sndPlaySound函数与 PlaySound 类似,用于播放声音,但通常用于纯粹的声音文件播放。
这些API函数可以帮助你在Windows应用程序中处理声音播放和多媒体交互。具体使用哪个API函数取决于你的需求和项目的复杂性。通常如果只需要简单地播放声音文件PlaySound 是一个方便的选择。如果需要更多控制和高级功能则可能需要使用其他API函数。
*/