■ MP3 파일 재생하기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


Program.cs

 

 

using System;

using System.Threading;

 

using NAudio.Wave;

 

namespace TestProject

{

    /// <summary>

    /// 프로그램

    /// </summary>

    class Program

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Field

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region Field

 

        /// <summary>

        /// 이벤트 대기 핸들

        /// </summary>

        private static EventWaitHandle _eventWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region 프로그램 시작하기 - Main()

 

        /// <summary>

        /// 프로그램 시작하기

        /// </summary>

        private static void Main()

        {

            string filePath = "sample.mp3";

 

            using(IWavePlayer wavePlayer = new WaveOut())

            {

                using(AudioFileReader reader = new AudioFileReader(filePath))

                {

                    Console.WriteLine("재생 시간 : {0}", reader.TotalTime);

 

                    wavePlayer.Init(reader);

 

                    wavePlayer.PlaybackStopped += WavePlayer_PlaybackStopped;

 

                    wavePlayer.Play();

 

                    while(true)

                    {

                        if(_eventWaitHandle.WaitOne(1000))

                        {

                            break;

                        }

 

                        Console.WriteLine(reader.CurrentTime + " / " + reader.TotalTime);

                    }

                }

            }

        }

 

        #endregion

 

        #region 웨이브 재생기 재생 중단시 처리하기 - WavePlayer_PlaybackStopped(sender, e)

 

        /// <summary>

        /// 웨이브 재생기 재생 중단시 처리하기

        /// </summary>

        /// <param name="sender">이벤트 발생자</param>

        /// <param name="e">이벤트 인자</param>

        private static void WavePlayer_PlaybackStopped(object sender, StoppedEventArgs e)

        {

            _eventWaitHandle.Set();

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

'C# > NAudio' 카테고리의 다른 글

[C#/NAUDIO] MP3 파일 재생하기  (0) 2019.07.30
Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요