我刚开始听音频节目,如果我没用对的话.
我有两个流缓冲区,我想让播放同时完全同步。我想控制流之间的混合比率。我确信这很简单,就像让两个源玩,只改变他们的收益一样简单,但是我读到了一些关于人们做一些小把戏的文章,比如使用2通道缓冲器而不是两个单通道。然后,他们发挥从一个单一的来源,但控制混合之间的渠道。我读到的这篇文章不是关于OpenAL的,所以我的问题是:可以用OpenAL?来实现吗?
我想我不需要这样做,但现在我很好奇,我想学习如何设置它。我应该设置alFilter吗?Creative“包含多个数据通道的缓冲区将在没有三维空间化的情况下播放。”阅读这篇文章,我想我需要在一个缓冲级别上预先通过,然后有一个源输出混合单通道信号。
我想我会再问一个问题。 OpenAL有足够的灵活性来做这样的把戏吗?
我手动解码我的流,因此我意识到在输入缓冲区之前自己完成混合是多么容易,但是这样我就无法实时地更改混合因子,因为我已经有了一秒钟左右的流缓冲。
发布于 2011-03-26 19:00:50
,我有两个流缓冲区,我想让它同时播放,完全同步。我想控制流之间的混合比率。我肯定这很简单,就像有两个来源玩,而只是改变他们的收益
是的,应该是。你试过了吗?问题出在哪里?
ALuint source1;
ALuint source2;
...
void set_ratio(float ratio) {
ratio=std::min(ratio,1);
alSourcef (source1, AL_GAIN, ratio);
alSourcef (source2, AL_GAIN, (1-ratio));
}https://stackoverflow.com/questions/5252127
复制相似问题