首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenAL同步

OpenAL同步
EN

Stack Overflow用户
提问于 2011-03-09 21:03:03
回答 1查看 802关注 0票数 3

我刚开始听音频节目,如果我没用对的话.

我有两个流缓冲区,我想让播放同时完全同步。我想控制流之间的混合比率。我确信这很简单,就像让两个源玩,只改变他们的收益一样简单,但是我读到了一些关于人们做一些小把戏的文章,比如使用2通道缓冲器而不是两个单通道。然后,他们发挥从一个单一的来源,但控制混合之间的渠道。我读到的这篇文章不是关于OpenAL的,所以我的问题是:可以用OpenAL?来实现吗?

我想我不需要这样做,但现在我很好奇,我想学习如何设置它。我应该设置alFilter吗?Creative“包含多个数据通道的缓冲区将在没有三维空间化的情况下播放。”阅读这篇文章,我想我需要在一个缓冲级别上预先通过,然后有一个源输出混合单通道信号。

我想我会再问一个问题。 OpenAL有足够的灵活性来做这样的把戏吗?

我手动解码我的流,因此我意识到在输入缓冲区之前自己完成混合是多么容易,但是这样我就无法实时地更改混合因子,因为我已经有了一秒钟左右的流缓冲。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-26 19:00:50

,我有两个流缓冲区,我想让它同时播放,完全同步。我想控制流之间的混合比率。我肯定这很简单,就像有两个来源玩,而只是改变他们的收益

是的,应该是。你试过了吗?问题出在哪里?

代码语言:javascript
复制
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));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5252127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档