OpenAL播放来自特定时间戳的音频



我正在用C++为我的游戏引擎编写一个对话系统。为了将对话分组在一起,我将不同的对话部分放在一个文件和一个缓冲区中。因此,我如何告诉OpenAL从特定时间(或采样,这对我来说并不重要(将缓冲区播放到缓冲区中。感谢您提前提供的帮助!

void PlayFromSpecifiedTime(ALfloat seconds) const
{
alSourcef(source, AL_SEC_OFFSET, seconds);
alSourcePlay(source);
}

或者,如果你想从缓冲区播放某个样本:

void PlayFromSpecifiedSample(ALint sample) const
{
alSourcei(source, AL_SAMPLE_OFFSET, sample);
alSourcePlay(source);
}

你也可以在开始时添加一个检查,看看你是否没有试图跳过缓冲区的总量之外的某个时间(或样本(。如果是这样,你只需return;就可以了。这是假设你知道自己在做什么。

最新更新