avalonia 桌面端 播放声音文件

1、设置声音文件的输出

 2、编译检测目录的文件

 3、安装 NAudio

GitHub - naudio/NAudio: Audio and MIDI library for .NET

dotnet add package NAudio --version 2.2.1

4、封装类文件 

using NAudio.Wave;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CoinGame_Avalonia
{
    public class AudioPlayer
    {
        private AudioFileReader _waveSource;
        private IWavePlayer _waveOut;

        public async Task PlayAudioAsync(string filePath)
        {
            _waveOut = new WaveOutEvent();
            _waveSource = new AudioFileReader(filePath);
            _waveOut.Init(_waveSource);
            _waveOut.Play();
            await Task.Run(() =>
            {
                _waveOut.PlaybackStopped += (sender, e) =>
                {
                    _waveOut.Dispose();
                    _waveSource.Dispose();
                };
            });
        }

        public void Stop()
        {
            _waveOut.Stop();    
        }
    }
}

 

5、使用

 

AudioPlayer audioPlayer = new AudioPlayer();
audioPlayer.PlayAudioAsync(AppDomain.CurrentDomain.BaseDirectory + "images\\myDouDZ.wav");
Thread.Sleep(10000);
audioPlayer.Stop();

 

posted @ 2024-05-25 13:37  JohnnyLei  阅读(510)  评论(0)    收藏  举报