2012-06-03 2 views
0

Я пытаюсь заставить звук зацикливаться при нажатии кнопки, а затем останавливать звук при повторном нажатии той же кнопки. У меня есть несколько звуков, которые воспроизводятся одновременно (все петли), все звуки должны быть в состоянии запускать и останавливаться в любом порядке.петлевые звуки в телефоне Windows 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"; 
     } 
    } 

Большое спасибо,

Jake

ответ

0

являются sound3instance и sound4instance хранятся вне методов?

+0

Но я могу получить звуковые петли друг над другом, но только если я удалю, если это проверяет содержимое кнопки (тоже проверьте, должен ли звук играть или останавливаться)? – SomeGuy

+0

нет, они созданы в методе и только тогда ... Я постараюсь переместить это сейчас – SomeGuy

+0

спасибо, что он работает сейчас !!! (теперь я смотрю на это глупая ошибка, но я бы никогда ее не заметил) – SomeGuy

Смежные вопросы