隐藏

C# .NET播放音乐

发布:2024/2/18 18:19:10作者:管理员 来源:本站 浏览次数:670

public class AudioPlayer
        {
            private WaveOutEvent waveOut;
            private bool loop;
 
            public bool Loop
            {
                get { return loop; }
                set { loop = value; }
            }
 
            public bool IsPlaying { get; private set; }
 
            public void Play(string filePath)
            {
                waveOut = new WaveOutEvent();
                Mp3FileReader mp3Reader = new Mp3FileReader(filePath);
                waveOut.Init(mp3Reader);
                waveOut.Play();
 
                waveOut.PlaybackStopped += WaveOut_PlaybackStopped;
                IsPlaying = true;
            }
 
            public void Stop()
            {
                waveOut?.Stop();
                IsPlaying = false;
            }
 
            private void WaveOut_PlaybackStopped(object sender, StoppedEventArgs e)
            {
                if (loop && IsPlaying)
                {
                    waveOut.Play();
                }
                else
                {
                    IsPlaying = false;
                }
            }

        }

调用

 AudioPlayer audioPlayer = new AudioPlayer();
            audioPlayer.Loop = true; //是否循环
            audioPlayer.Play("../../music/load.mp3");