我正试图在单声道播放中播放声音文件,但在一两秒后会被切断。这是我用来播放声音的代码:
SoundFileName = filename;
var sound = SystemSound.FromFile(filename);
sound.PlaySystemSound();
这是我正在尝试播放的MP3文件。再一次,我听到它短暂的一秒钟,然后它被削减。之后我添加了一个thread.sleep()行,然后它将在整个过程中播放。
但这并不理想,因为我正在播放的mp3文件的长度可能会有所不同。任何帮助将不胜感激。谢谢。
答案 0 :(得分:6)
您需要在表单或类级别声明sound
对象。在您发布的示例中,sound
仅限于该函数的范围,因此只要该方法结束,该变量就会超出范围并在声音播放完毕之前进行处理。 Thread.sleep
有效,因为该调用会阻止该方法暂停一段时间(从而阻止sound
超出范围)。
答案 1 :(得分:0)
您可能还想看看这个问题:Playing a sound with MonoTouch
我认为SystemSound并不打算与开放时间段的MP3一起使用。