本文整理汇总了C++中LLAudioData::getLoadState方法的典型用法代码示例。如果您正苦于以下问题:C++ LLAudioData::getLoadState方法的具体用法?C++ LLAudioData::getLoadState怎么用?C++ LLAudioData::getLoadState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLAudioData
的用法示例。
在下文中一共展示了LLAudioData::getLoadState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void LLAudioSource::update()
{
if(mCorrupted)
{
return ; //no need to update
}
// If data is queued up and we aren't playing it, shuffle it to current and try to load it.
if(isQueueSounds() && mPlayedOnce && mQueuedDatap && !mChannelp)
{
mCurrentDatap = mQueuedDatap;
mQueuedDatap = NULL;
//Make sure this source looks like its brand new again to prevent removal.
mPlayedOnce = false;
mAgeTimer.reset();
}
LLAudioData *adp = getCurrentData();
if (adp && !adp->getBuffer())
{
if(adp->getLoadState() == LLAudioData::STATE_LOAD_ERROR)
{
LL_WARNS("AudioEngine") << "Marking LLAudioSource corrupted for " << adp->getID() << LL_ENDL;
mCorrupted = true ;
}
else if(adp->getLoadState() == LLAudioData::STATE_LOAD_READY)
{
// Update the audio buffer first - load a sound if we have it.
// Note that this could potentially cause us to waste time updating buffers
// for sounds that actually aren't playing, although this should be mitigated
// by the fact that we limit the number of buffers, and we flush buffers based
// on priority.
adp->load(); //If it fails, just try again next update.
}
else
{
//The sound wasn't preloaded yet... so we must kick off the process.
adp->updateLoadState();
}
}
}