SDL 基准声音
Posted
技术标签:
【中文标题】SDL 基准声音【英文标题】:SDL Benchmark Sound 【发布时间】:2013-11-25 12:53:49 【问题描述】:我正在为我的最终 cs 项目在两个图形库(SDL、SFML)之间做一个基准项目。我几乎完成了,但是当我对播放声音的速度进行基准测试时,无论他做了多少次循环,它总是返回耗时 0。你知道我的代码有什么问题吗?声音确实在播放,但我可能应该做一些其他算法。
void playSound()
Mix_PlayChannel(-1, sound, 0);
void soundBenchmark(int numOfCycles)
int time = SDL_GetTicks(), timeRequired;
for(int i = 0; i < numOfCycles; i++) playSound();
timeRequired = SDL_GetTicks() - time;
cout << "Time required for " << numOfCycles << " cycles: " << timeRequired << " seconds.\n";
【问题讨论】:
【参考方案1】:函数Mix_PlayChannel()
不会阻塞代码的执行。该函数只是将数据发送到声卡(或等效)并返回。
您必须记住您使用Mix_PlayChannel()
使用的频道,然后定期使用Mix_Playing()
检查该频道是否正在播放并查看时间。
【讨论】:
以上是关于SDL 基准声音的主要内容,如果未能解决你的问题,请参考以下文章
在 C++/Linux 中使用 SDL_Mixer 时没有声音
ncurses + SLD2 和 SDL2_Mixer:尝试播放 mp3 时没有声音
ubuntu 下SDL 声音无法播放,我的电脑能正常听哥的。 Mix_OpenAudio: No available audio device