정리가 필요한 카테고리(추후 정리)/C#,Unity

C#.NET] WMPLib.WindowsMediaPlayer를 이용해서 wav가 아닌 오디오 파일 재생하는 방법

TwinParadox 2019. 4. 24. 21:04
728x90

.NET 개발을 하다보면 wav 파일이 아닌 mp3 같은 파일들을 재생해야 할 때가 있다. wav 같은 경우는 System.Media.SoundPlayer를 이용해서 별도의 라이브러리 추가 없이 재생이 가능하지만, 다른 파일들은 별도의 실행 방식을 사용해야 한다.

 

 

SoundPlayer - wav 파일

 

일단 기존의 SoundPlayer를 이용해서 wav 파일을 재생하는 방법을 한 번 보자.

private SoundPlayer player;
player = new SoundPlayer(filePath);
// Sync
player.Load();
player.PlaySync();

// ASync
plyaer.LoadAsync();
player.Play();

// Stop
player.Stop();

 

SoundPlayer에 대한 세부적인 내용 : MS Docs

https://docs.microsoft.com/ko-kr/dotnet/api/system.media.soundplayer?view=netframework-4.0

 

SoundPlayer Class (System.Media)

.wav 파일에서의 소리 재생을 제어합니다.Controls playback of a sound from a .wav file.

docs.microsoft.com

 

 

WMP - wav를 포함한 다양한 오디오 파일

 

wav 파일이 아닌 경우에는 SoundPlayer로는 재생이 불가능하다. 필자는 WMPLib.WindowsMediaPlayer를 이용해서 재생하는 방법을 즐겨 사용한다. 이 방법을 사용하기 위해선 일단 WMPLib.dll을 참조해야 한다.

WMPLib.WindowsMediaPlayer player;
player = new WMPLib.WindowsMediaPlayer();
player.URL = fileURL

// play
player.controls.play();

// stop
player.controls.stop();

 

WMP 관련 세부내용 : MS Docs

https://docs.microsoft.com/en-us/windows/desktop/wmp/creating-the-windows-media-player-control-programmatically

 

Creating the Windows Media Player Control Programmatically - Windows applications

Creating the Windows Media Player Control Programmatically

docs.microsoft.com

 

두 방식 모두 경로에 문제가 있는 예외 같은 것들을 처리해줘야 한다. 그러지 않으면 프로그램이 멈추거나 종료되어버리는 현상이 발생할 것이다.

728x90