我正在創建一個WP7應用程序,需要在循環播放的背景音樂上播放各種音效(按下按鈕時)。背景音樂通過按下按鈕1啓動並循環播放。當我按下按鈕3(觸發聲音效果)時,首次按下後,音效就會疊加在背景音樂上。但是,當我再次按下按鈕3時,背景音樂停止。我無法弄清楚爲什麼會發生這種情況!?我已經粘貼了以下代碼的相關部分。將不勝感激任何幫助。同時播放兩個聲音c#
public partial class MainPage : PhoneApplicationPage
{
SoundEffect soundEffect;
Stream soundfile;
// Constructor
public MainPage()
{
InitializeComponent();
}
static protected void LoopClip(SoundEffect soundEffect)
{
{
SoundEffectInstance instance = soundEffect.CreateInstance();
instance.IsLooped = true;
FrameworkDispatcher.Update();
instance.Play();
}
}
public void PlaySound(string soundFile)
{
using (var stream = TitleContainer.OpenStream(soundFile))
{
var effect = SoundEffect.FromStream(stream);
effect.Play();
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
soundfile = TitleContainer.OpenStream("BackgroundMusic.wav");
soundEffect = SoundEffect.FromStream(soundfile);
LoopClip(soundEffect);
}
private void button3_Click(object sender, RoutedEventArgs e)
{
PlaySound("sound3.wav");
}
}
}
您是否嘗試線程或後臺工作? – Marshal 2011-04-21 16:44:02
這與Java中發生的事情完全相反...... – JavaAndCSharp 2011-05-23 18:47:17