本文整理汇总了C++中SoundManager::CreateSoundBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ SoundManager::CreateSoundBuffer方法的具体用法?C++ SoundManager::CreateSoundBuffer怎么用?C++ SoundManager::CreateSoundBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SoundManager
的用法示例。
在下文中一共展示了SoundManager::CreateSoundBuffer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Load
/**
* @brief
* Loads/reloads the sound
*/
void SNMSound::Load()
{
// Destroy currently used sound source
Source *pSS = static_cast<Source*>(m_pSoundSourceHandler->GetResource());
if (pSS)
delete pSS;
// Get the PL sound container this scene node is in
SceneContainer *pContainer = GetSceneNode().GetContainer();
while (pContainer && !pContainer->IsInstanceOf("PLSound::SCSound"))
pContainer = pContainer->GetContainer();
if (pContainer) {
SoundManager *pSoundManager = static_cast<SCSound*>(pContainer)->GetSoundManager();
if (pSoundManager) {
Source *pSoundSource = pSoundManager->CreateSoundSource(pSoundManager->CreateSoundBuffer(m_sSound, (GetFlags() & Stream) != 0));
m_pSoundSourceHandler->SetResource(pSoundSource);
pSoundSource->SetAttribute(Source::Position, GetSceneNode().GetTransform().GetPosition());
pSoundSource->SetVolume(m_fVolume);
pSoundSource->Set2D((GetFlags() & No3D) != 0);
pSoundSource->SetLooping(!(GetFlags() & NoLoop));
pSoundSource->SetPitch(m_fPitch);
pSoundSource->SetReferenceDistance(m_fReferenceDistance);
pSoundSource->SetMaxDistance(m_fMaxDistance);
pSoundSource->SetRolloffFactor(m_fRolloffFactor);
OnPosition();
if (!(GetFlags() & NoStartPlayback))
pSoundSource->Play();
}
}
}