OpenAL播放来自特定时间戳的音频 我正在为C++游戏引擎编写一个对话系统。为了将对话分组在一起,我在一个文件和一个缓冲区中放置了不同的对话部分。因此,我如何告诉OpenAL将缓冲区从特定时间(或对我来说并不重要的示例)播放到缓冲区中。提前谢谢你的帮助 void PlayFromSpecifiedTime(ALfloat seconds) const { alSourcef(source, AL_SEC_OFFSET, seconds); alSourcePlay(source); }

OpenAL播放来自特定时间戳的音频 我正在为C++游戏引擎编写一个对话系统。为了将对话分组在一起,我在一个文件和一个缓冲区中放置了不同的对话部分。因此,我如何告诉OpenAL将缓冲区从特定时间(或对我来说并不重要的示例)播放到缓冲区中。提前谢谢你的帮助 void PlayFromSpecifiedTime(ALfloat seconds) const { alSourcef(source, AL_SEC_OFFSET, seconds); alSourcePlay(source); },c++,audio,game-engine,openal,C++,Audio,Game Engine,Openal,或者,如果要从缓冲区中的某个样本播放: void PlayFromSpecifiedSample(ALint sample) const { alSourcei(source, AL_SAMPLE_OFFSET, sample); alSourcePlay(source); } 您还可以在开始处添加一个检查,查看您是否没有尝试跳过缓冲区总量之外的某个时间(或样本)。如果有,您只需返回退出。这假设你知道你在做什么 或者,如果要从缓冲区中的某个样本播放: void PlayFrom

或者,如果要从缓冲区中的某个样本播放:

void PlayFromSpecifiedSample(ALint sample) const
{
    alSourcei(source, AL_SAMPLE_OFFSET, sample);
    alSourcePlay(source);
}
您还可以在开始处添加一个检查,查看您是否没有尝试跳过缓冲区总量之外的某个时间(或样本)。如果有,您只需
返回退出。这假设你知道你在做什么

或者,如果要从缓冲区中的某个样本播放:

void PlayFromSpecifiedSample(ALint sample) const
{
    alSourcei(source, AL_SAMPLE_OFFSET, sample);
    alSourcePlay(source);
}
您还可以在开始处添加一个检查,查看您是否没有尝试跳过缓冲区总量之外的某个时间(或样本)。如果有,您只需
返回退出。这假设你知道你在做什么