Monogame声音故障

时间:2013-01-29 19:31:04

标签: audio monogame

使用monogame 2.5我的声音有些麻烦

我的应用正在加载一组png并在渲染过程中显示它。加载和渲染非常好而且快速,但声音“非常慢”,充满了“毛刺”。似乎主线程没有足够的时间来处理声音。

深入了解代码,我发现了这种方法:

public override bool BeforeDraw(GameTime gameTime)        
{ 
// Update our OpenAL sound buffer pools 
soundControllerInstance.Update();            
if (IsPlayingVideo)                return false;
            return true;        
}

所以,我认为这个方法必须被称为1/33秒。

问题是我必须每隔1/12加载一个新图像,这个过程非常耗时并且会停止主线程。

当然,我已经尝试使用后台工作程序,但由于我需要一个Texture2D实例,由于OpenGL上下文,我必须在主线程中加载它。

我尝试在后台工作程序中加载图像,并在主线程中创建Texture2D,但它无法解决问题。

哦,我的声音是一个mp3声音,但我用wav测试过,没有结果! :(

1 个答案:

答案 0 :(得分:-1)

嗯,问题是我每次更改纹理时都在调用GC.Collect(),而且正如我所看到的,此方法会阻止一切(包括音频!!)

我删除了GC.Collect(),现在它正常工作!!!