|
我自己写了一个声源管理类,代码如下:
-
- SoundManage::SoundManage(void)
- {
- osgAudio::SoundManager::instance()->init( 16, true );
- osgAudio::SoundManager::instance()->getEnvironment()->setDistanceModel(osgAudio::InverseDistance);
- osgAudio::SoundManager::instance()->getEnvironment()->setDopplerFactor(1);
- _soundMgrRoot = new osg::Group;
- }
- SoundManage::~SoundManage(void)
- {
- if (osg::Referenced::getDeleteHandler())
- {
- osg::Referenced::getDeleteHandler()->setNumFramesToRetainObjects(0);
- osg::Referenced::getDeleteHandler()->flushAll();
- }
- osgAudio::SoundManager::instance()->shutdown();
- }
复制代码
为什么会在析构时调用shutdown()后程序卡住不动了,调试发现在释放osg::AudioEnvironment的引用时出现的问题,我看了相关的例子代码没有发现有其他特殊的地方,请问我出现此问题的原因是什么呢? |
|