OpenAL 从某个时间戳播放音频
OpenAL playing audio from certain timestamp
我正在用 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;
即可。这假设您知道自己在做什么。
我正在用 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;
即可。这假设您知道自己在做什么。