0

소리를 사용하여 바이트 배열에서 사운드를 재생하고 모든 것이 올바르게 진행되지만 Soundeffect에서 stop()이라는 메서드가 없기 때문에 사운드를 재생할 수 없습니다. 어떻게 멈출 수 있습니까?wp8 Soundeffect는 멈출 수 없습니다

코드 :

private void playFile(byte[] file) 
    { 
     try 
     { 

      if (file == null || file.Length == 0) return; 


      SoundEffect se = new SoundEffect(file, microphone.SampleRate, AudioChannels.Mono); 
      SoundEffect.MasterVolume = 0.7f; 
      if (stop != 1) 
      { 
       FrameworkDispatcher.Update(); 
       se.Play(); 
      } 
      else 
      { 
       //Here should stop, how ! 
      } 
     } 
     catch (Exception ee) 
     { 
      MessageBox.Show(ee.Message); 
     } 
    } 
+0

코드에서 나는 아무것도 실제로 시작되지 않았기 때문에 else에서 멈추려 고 노력하고 있는지 확실하지 않습니다. (같은 조건 일 경우 재생이 이루어지기 때문에) –

+0

아니요, 모든 일이 잘됩니다. 그러나 나는 그것을 멈추는 방법을 모른다. –

+1

내 질문에 당신이 그곳에서 멈추고있는 이유는 당신이 "SoundEffect se"라는 코드를 로컬 변수로 게시했기 때문이며 다음에 playFile이 호출되면 그냥 새로운 것을 만들 것이고 원래 SoundEffect 대신 SoundEffect를 멈추게 할 것입니다 –

답변

0

당신이 당신의 SoundEffect 개체 on .Dispose()를 호출 시도? SoundEffect 개체가 소멸 될 때 documentation에 따르면,

는 이전에 해당 SoundEffect 에 의해 생성 된 모든 SoundEffectInstance 객체는 무효가 될 재생을 중지합니다. 당신이 XNA 게임 스튜디오 4.0 개발하지 않는 한

는 또한, Microsoft recommends 대신 MediaElement를 사용하여. 따라서 해당되는 경우 MediaElement을 사용하는 것이 좋습니다. Play, Pause, and Stop functions입니다.

+0

나는 그것을 사용, 소리가 변화없이 계속됩니다! –

0

Sound effect instance

여기 소리에 대한 SoundEffectInstance 이상

Sound Effect Instance

더 그래서 그것이 dispose() 방법이있을 것이다 IDisposeable를 구현하는 솔루션에 대한 링크뿐만 아니라 stop()의 SoundEffectInstance

사용해보십시오 효과.

+0

아무것도 작동하지 않습니다! –

0

다음 파일을로드 한 후 soundEffect의 인스턴스를 생성

SoundEffectInstance soundEffectInstance; 

아래와 같이 SoundEffectInstance에 대한 변수를 만듭니다 ..

soundEffectInstance = se.CreateInstance(); 

후 그 사용이 soundEffectInstanceStop, Play 또는 Pause에 어디 까지나 특정 범위에서 원하십니까? SoundEffect 화재에 사용하고 SoundEffectInstance를 사용하는 당신이 필요합니다 SoundEffect의 특정 인스턴스를 제어하려는 경우, 유형의 인스턴스를 잊어 버린 것을

soundEffectInstance.Play(); 

참고.

나는 Benoit Catherinet에 동의합니다. 특정 이벤트에서 특정 사운드를 중지하려는 경우 이벤트 메서드에 중단 코드를 넣어야하며 SoundEffect 인스턴스는 전역이 아니고 로컬이어야합니다.

달성하려는 것에 대해 설명 할 수 있으면 더 잘 도와 드릴 수 있습니다.

관련 문제