По-прежнему возникают проблемы: «Нет делегата LoopClip перегрузок». Я смог использовать ThreadStart для вызова непараметизированной функции, которая затем называлась LoopClip. Тем не менее, у меня все еще была та же самая оригинальная проблема, когда программа работала. Должен ли я создавать новый поток в button1_Click или где-то еще?

даю приложение WP7, которое требует воспроизведения различных звуковых эффектов (при нажатии кнопки) поверх зацикленной фоновой музыки. Фоновая музыка запускается нажатием кнопки 1 и прекрасно воспроизводится. Когда я нажимаю кнопку 3 (запускает звуковой эффект), звуковой эффект накладывается на фоновую музыку прекрасно при первом нажатии. Однако при повторном нажатии кнопки 3 фоновая музыка останавливается. Я не могу понять, почему это может происходить !? Я вставил соответствующие части кода ниже. Буду признателен за любую помощь.

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");
    }

}

}

Ответы на вопрос(2)

Ваш ответ на вопрос