เสียงวนซ้ำใน windows phone 7

ฉันกำลังพยายามให้เสียงวนซ้ำเมื่อกดปุ่ม จากนั้นหยุดเสียงเมื่อกดปุ่มเดิมอีกครั้ง ฉันมีหลายเสียงที่กำลังเล่นพร้อมกัน (เป็นเสียงวนซ้ำทั้งหมด) เสียงทั้งหมดควรจะสามารถเริ่มและหยุดในลำดับใดก็ได้

ปัญหาของฉัน?

หากคุณกดปุ่มเดียว เสียงจะวนซ้ำปกติและจะหยุดเมื่อกดปุ่มอีกครั้ง อย่างไรก็ตาม หากคุณกดปุ่มเดียว (เพื่อให้มีเสียงหนึ่งวนซ้ำ) แล้วกดอีกปุ่มหนึ่ง (เพื่อลองเล่นทั้งสองเสียงพร้อมกัน) แล้วเสียงแรกก็หยุดลง และฉันก็ไม่รู้ว่าทำไมตลอดชีวิตของฉัน

รหัสของฉัน:

    private void button3_Click(object sender, RoutedEventArgs e)
    {


        SoundEffect sound3;
        int x = 0;

        StreamResourceInfo SoundFileInfo = App.GetResourceStream(new Uri("tracks/drum (human).wav", UriKind.Relative));

        sound3 = SoundEffect.FromStream(SoundFileInfo.Stream);

        SoundEffectInstance sound3instance = sound3.CreateInstance();


        if (button3.Content.Equals("Sound 3"))
        {
            sound3instance.IsLooped = true;
            sound3instance.Play();
            button3.Content = "Playing";
        }
        else
        {
            sound3instance.Pause();
            button3.Content = "Sound 3";
        }

    }

    private void button4_Click(object sender, RoutedEventArgs e)
    {
        SoundEffect sound4;

        StreamResourceInfo SoundFileInfo2 = App.GetResourceStream(new Uri("Cow Moo 1.wav", UriKind.Relative));

        sound4 = SoundEffect.FromStream(SoundFileInfo2.Stream);

        SoundEffectInstance sound4instance = sound4.CreateInstance();


        if (button4.Content.Equals("Sound 4"))
        {
            sound4instance.IsLooped = true;
            sound4instance.Play();
            button4.Content = "PLaying";
        }
        else
        {
            sound4instance.Pause();
            button4.Content = "Sound 4";
        }
    }

ขอบคุณมาก,

เจค


person SomeGuy    schedule 03.06.2012    source แหล่งที่มา


คำตอบ (1)


sound3instance และ sound4instance ถูกเก็บไว้นอกวิธีการหรือไม่

person Community    schedule 03.06.2012
comment
แต่ฉันสามารถทำให้เสียงวนซ้ำกันได้ แต่ถ้าฉันลบ if ที่ตรวจสอบเนื้อหาของปุ่มออก (ตรวจสอบด้วยว่าเสียงควรเล่นหรือหยุด)? - person SomeGuy; 03.06.2012
comment
ไม่ พวกมันถูกสร้างขึ้นในวิธีการและเมื่อนั้นเท่านั้น... ฉันจะลองย้ายสิ่งนั้นตอนนี้เลย - person SomeGuy; 03.06.2012
comment
ขอบคุณมันใช้งานได้แล้ว!!! (ตอนนี้ผมมองมันเป็นความผิดพลาดโง่ๆ แต่ผมจะไม่มีวันเห็นมัน) - person SomeGuy; 03.06.2012