Playing MP3 songs using mciSendString function

참고출처 : http://forum.codecall.net/csharp-tutorials/20420-tutorial-playing-mp3-files-c.html


갈수록 빠져드는 C#의 매력! ㅋ

C#은 사용이 기본적으로 어렵지 않을 뿐 아니라 라이브러리가 강력하다는 장점이 있습니다. 그리고 상황에 따라서는 순수 WinAPI dll을 가져올 수도 있죠.

오늘의 예제는 ArekBulski님(러시아분?)이 오픈소스 사이트(http://forum.codecall.net)에 올리신 예제입니다.


 
임포트하구요

using System.Runtime.InteropServices;


다음 폼과 같이 만듦니다. 텍스트창 하나, 버튼 3

Browse(불러오기)버튼을 아래코드로 채워줍니다.
 

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    FilenameTextbox.Text = openFileDialog1.FileName;

    button3.Enabled = true; //So you dont play no file. lol
}



그런다음 메인 폼 클래스에 DLL을 읽어오기 위한 P/Invoke 정의를 붙이고



[DllImport("winmm.dll")] private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);


버튼 3은 재생

private void button3_Click(object sender, EventArgs e) { mciSendString("open \"" + FilenameTextbox.Text + "\" type mpegvideo alias MediaFile", null, 0, IntPtr.Zero); mciSendString("play MediaFile", null, 0, IntPtr.Zero); button3.Enabled = false; button2.Enabled = true; }



버튼 2는 중지 코드를 입력 해 줍니다.
private void button2_Click(object sender, EventArgs e) { mciSendString("close MediaFile", null, 0, IntPtr.Zero); button2.Enabled = false; button3.Enabled = true; }




mp3 재생이 이렇게 쉽다니 ... ㅇㅅㅇ



신고
Posted by 준환이형님

댓글을 달아 주세요

  1. h0ney 2011.07.28 02:17 신고 Address Modify/Delete Reply

    ㅋㅋㅋ C# 에 빠졌군~

  2. juje 2011.07.30 09:48 신고 Address Modify/Delete Reply

    아놔....자료 찾으로 왔는데 니 얼굴이 보이네.. 멋진 새끼..

  3. Denial 2011.08.01 12:59 신고 Address Modify/Delete Reply

    WPF에서 MediaPlayer나 SoundPlayer를 쓰면 더 쉽게 재생할 수 있어용 ㅋㅋ

  4. 이승현 2011.08.07 17:19 신고 Address Modify/Delete Reply

    닷넷으로 mp3 재생좀 할려고 여기 저기 찾았는데..

    잘 배웠습니다. 감사합니다.^^

  5. 2011.11.29 23:47 Address Modify/Delete Reply

    비밀댓글입니다

  6. 2012.01.03 20:21 Address Modify/Delete Reply

    비밀댓글입니다

  7. Vocanic 2012.06.16 10:33 신고 Address Modify/Delete Reply

    저기 c#초보자라서 그런데
    openFileDialog1 컨텍스트 할수 없다고 뜨면 어떻게 하나요?

  8. 김민준 2014.07.14 20:45 신고 Address Modify/Delete Reply

    중간중간 변수선언이있는데 제대로 어느 부분에 있는지 자세하게 설명해주시면 감사하겠씁니다.

  9. 지나가는행인 2017.03.28 00:50 신고 Address Modify/Delete Reply

    빠진게 있어서 씁니다.

    openFileDialog을 폼에 넣어 주셔야 합니다. 툴박스 Dialog 탭에 있습니다.

    그리고 텍스트 박스의 기본 이름이 textbox1 로 돼있을텐데 저 위에거 그대로 코딩하시면 에러가 납니다. FilenameTextbox로 바꾸시던지 코드에서 textbox1 로 바꾸던지 해야 됩니다.