北京适合种植提木西吗?

小说:北京适合种植提木西吗?作者:侯王更新时间:2019-04-22字数:53216

很快,他的脸色就变得古怪起来,那是惊喜与不敢置信的双重情绪,笑容渐渐在他脸上放大,如果不是周围其他人还在修炼,此时的他真想大笑出声。

哪里有花叶玉簪种植基地?

“这就是老师的绝学,真的是毁天灭地一般的强大啊。”断浪终于第一次亲眼目睹刘皓的绝学,心中被震惊得无以复加。
“刘皓交给你了。”千钧一发之际黑暗机械暴龙兽和天女兽想也不想的挡在刘皓面前,异口同声的说道,只是黑暗机械暴龙兽放佛早就料到会这样使得,仗着自己体型巨大挡在了更前面。

昨天晚上,在给小舞梳好头发的时候,唐三已经想到了为什么自己会觉得小舞发间香气的熟悉,因为,她长发中的香气与那能克制百毒的幽香绮罗仙品极为相像,唐三隐约记得玄天宝录中曾经记载过,这种香气出现在人的身上,就叫做先天绮罗幽香,虽然无法像幽香绮罗仙品那样克制百毒,但对人体却有着极大的好处,每天如果能够闻一闻,不但有延年益寿的功效,而且还可以增强自身的免疫力并给人以陶醉感。

DirectSound以DMO(DirectX Nedua Objects)的方式提供了对原始音频数据的处理,开发者能够通过VC6.0里的Audio Effect DMO Wizard来开发自定义的DMO。实际上这个DMO开发向导已经不在Visual Studio里面提供了,并且已经被MFT(Media Foundation Transforms)替代了,但这个不是我们今天的重点。

除此之外,DirectSound提供了以下标准DMO音效(原谅鄙人对音效这块不是很了解,因此没有翻译这些术语):

  • Chorus
  • Compression
  • Distortion
  • Echo
  • Environmental Reverberation
  • Flange
  • Gargle
  • Parametric Equalizer
  • Waves Reverberation

1. 音效使用逻辑

logic-pic

所有标准音效都按照一致的方式来使用,首先先调用DirectSoundCreate8()获取设备对象接口并设置协作级别:

if (DirectSoundCreate8(&DSDEVID_DefaultPlayback, &m_directSound8, NULL) != DS_OK) {
    throw std::exception("Error: maybe no default audio device in your system");
}

if (m_directSound8->SetCooperativeLevel(windowHandle, DSSCL_PRIORITY) != DS_OK) {
    throw std::exception("set cooperative level on default audio device failed!");
}

容纳后通过设备对象接口获取播放声音的次缓冲区接口:

if (soundBuffer->QueryInterface(IID_IDirectSoundBuffer8, (LPVOID*)&m_soundBufferInterface) != S_OK)
    throw std::exception("IDirectSoundBuffer8 interface not supported!");

接着通过次缓冲区接口的GetObjectInPath()函数获取想要的音效接口:

IUnknown* interfacePtr;
if (m_soundBufferInterface->GetObjectInPath( guid, guidIndex, interfaceGuidMaps[guid], (LPVOID*)&interfacePtr ) != DS_OK)
    throw std::exception( "GetObjectInPath error" );

最后,调用SetFX()函数, 传入类型为DSEFFECTDESC的音效参数一个或多个音效参数:

DSEFFECTDESC effectDescriptions = { 0 };
effectDescriptions.dwSize = sizeof(effectDescriptions);
effectDescriptions.dwFlags = DSFX_LOCSOFTWARE;
effectDescriptions.guidDSFXClass = effectGuid;

...

auto callResult = m_soundBufferInterface->SetFX(m_effects.size(), m_effects.data(), resultCodes.data());
if (callResult != DS_OK) {
    ...
}

2. Chorus音效简介

Chorus音效即合声,标准音效参数由以下几个参数构成:

  • Wet/Dry 比例:Wet代指被音效处理过的音频信号;Dry代指原始的音频信号。
  • Depth: 延迟时间被低频振荡器调整的百分比。
  • Feedback: 输出音频信号反馈到音效输入的百分比。
  • Fraquency: 低频振荡器的频率
  • Waveform: 低频振荡器的波形形状:三角、正弦。
  • Delay: 音效的延迟播放时间。
  • Phase: 左右低频振荡器的相位差

3. Chorus音效展示

Demo中我只实现了Chorus音效的应用:

result-pic

大家可以编译完整代码来体验一下。

编辑:邓密王邓

发布:2019-04-22 07:21:05

当前文章:http://emigration.net.cn/content/2019-01/22/content_77704.html

米径17公分白玉兰什么价格能买到? 云南哪里有紫竹苗? 黄和平月季是藤本吗? 凌霄花什么时候移植最好? 紫藤花苗多少钱一株? 冠幅80公分红叶小檗球价格 月季花苗圃_月季花花苗_月季花购买_月季花批发价 2016年你一定不知的国内最大的小叶女贞基地!

14015 12370 42915 88579 95375 21536 88290 95450 22769 41574 55525 71256 22281 89475 35789 66664 16180 16993 68611 94835

我要说两句: (0人参与)

发布