반응형
*C# API 를 이용한 Wav 파일 재생 예제...
- 사용한 컨트롤 : Button 3개, Label 1개
전체 소스 코드
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace CSharp_MediaPlayer
{
public partial class Form1 : Form
{
[DllImport("winmm.dll")]
private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//File Open
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "WAV File(*.wav) | *.wav";
if (ofd.ShowDialog() == DialogResult.OK)
{
label1.Text = ofd.FileName;
}
}
private void button2_Click(object sender, EventArgs e)
{
//Play
if (!System.IO.File.Exists(label1.Text))
{
return;
}
mciSendString("open \"" + label1.Text + "\" type mpegvideo alias MediaFile", null, 0, IntPtr.Zero);
mciSendString("play MediaFile", null, 0, IntPtr.Zero);
}
private void button3_Click(object sender, EventArgs e)
{
//Stop
mciSendString("Close MediaFile", null, 0, IntPtr.Zero );
}
}
}
*예제 결과
https://kdsoft-zeros.tistory.com/193
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] Form - Animate (0) | 2020.04.27 |
---|---|
[C#] PC 사용 시간 얻어 오기 (PC Use Time) (0) | 2020.04.22 |
[C#] Sendkeys - 화면 캡쳐 (Screen Capture) (0) | 2020.04.15 |
[C#] 선택된 프로세스 죽이기 (Kill Process) (0) | 2020.04.13 |
[C#] 화면 캡쳐 (Screen Capture) (0) | 2020.04.09 |