2014-01-28 9 views
0

정확히 완전한 사인파를 포함하는 .wav 파일을 만들었습니다. Audacity 등으로 열어 확인할 수 있습니다.C# SoundPlayer가 끝나기 전에 wav 파일 재생을 중지합니다.

https://mega.co.nz/#!DkR3gKia!dV9zDtdzmqHDDkEUeZviYf78SDkkxWVjUTy8kYEJnio

가 나는 C# 닷넷 SoundPlayer를 사용하여이 파일을 재생합니다. 여기처럼 :

static void Main(string[] args) 
    { 
     using (SoundPlayer sad = new SoundPlayer("D:\\Soundlocator\\test.wav")) 
     { 
      while (true) 
      { 
       sad.PlaySync(); 
       Thread.Sleep(100); 
      } 
     } 
    } 

나는 오실로스코프에서 볼 수있는 것이 사인파의 절반보다 작습니다.

enter image description here

는 사람이 말해 왜 수 있습니까? 아마도 내 wav 파일 헤더가 올바르지 않습니까? vlc 또는 Audacity를 사용하여 동일한 파일을 재생하면 예상 한대로 완전한 사인파를 얻을 수 있습니다.

+0

Windows Media Player에서 해당 wav 파일로 재생 해봤습니까? –

+1

이상합니다. PlaySync 메서드 대신 PlayLooping을 사용해 보시고 while (true) 루프를 없애시겠습니까? – rla4

+0

다른 플레이어와 시도했습니다. 그것이해야하는대로 일하고 있습니다. SoundPlayer 만 문제를 일으 킵니다. PlayLooping은 작업을 수행하지만 wav 파일을 재생할 때와 작동하지 않는 이유로 인해 일시 중지를 추가하려고합니다. 이것이 가능한 모든 아이디어? 문제를 찾을 수 없습니다. – user2799180

답변

0

아직도 문제가 어디서 오는지 알 수 없습니다. 이 문제를 극복하기 위해 수행 한 작업은 파일의 끝에 약간의 일시 중지 (0)를 추가하는 것이 었습니다. 이제해야 할 것처럼 보입니다. PlayLooping과 결합하여 정확하게 재생할 수있는 것은 아닙니다.

SoundPlayer가이 WAV에서 올바르게 작동하지 않는 문제는 여전히 존재하지만.