【发布时间】:2018-01-30 18:49:24
【问题描述】:
void FilePlayer::setLooping(const bool newState, float startPos)
{
while (newState == true)
{
float endPos = startPos + 4/audioTransportSource.getLengthInSeconds();
float currentPos = audioTransportSource.getCurrentPosition()/audioTransportSource.getLengthInSeconds();
if (currentPos == endPos || currentPos > endPos)
{
audioTransportSource.setPosition(startPos * audioTransportSource.getLengthInSeconds());
}
}
}
这是用于循环播放任何音频文件 4 秒的代码,无论多长时间。单击循环按钮,newState 变量变为 true。我有另一个按钮将其设置为 false,但是,当我在应用程序中执行循环任务时,CPU/内存/能源影响通过屋顶并且应用程序变得无法使用,以至于我无法单击按钮结束循环.
谁能解释一下这是为什么?
【问题讨论】:
-
1) 您是否正在测试优化的构建(如果没有;甚至不必费心测量)。 2) 你的分析器告诉你什么?