You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Blazor应用的服务器端播放音频?局域网点歌机开发需求

服务器端音频播放方案(Blazor局域网点歌设备)

Windows平台实现

  • 利用Windows原生媒体播放API(适配.NET环境,Blazor Server模式下直接在服务器端运行)

    using Windows.Media.Playback;
    using Windows.Storage;
    
    public async Task PlayServerAudio(string audioFilePath)
    {
        var audioFile = await StorageFile.GetFileFromPathAsync(audioFilePath);
        var mediaPlayer = new MediaPlayer();
        mediaPlayer.Source = MediaSource.CreateFromStorageFile(audioFile);
        mediaPlayer.Play();
    }
    

    注意:仅适用于Windows服务器,且Blazor需采用Server模式而非WASM模式。

  • 第三方库NAudio(兼容性更强,支持多音频格式)

    using NAudio.Wave;
    
    public void PlayServerAudio(string audioFilePath)
    {
        using var audioReader = new AudioFileReader(audioFilePath);
        using var waveOutput = new WaveOutEvent();
        waveOutput.Init(audioReader);
        waveOutput.Play();
        // 如需等待播放结束,可监听PlaybackStopped事件
    }
    

Linux平台实现

  • 调用系统ALSA工具aplay(轻量无需额外.NET库)

    using System.Diagnostics;
    
    public void PlayServerAudio(string audioFilePath)
    {
        var playProcess = new ProcessStartInfo
        {
            FileName = "aplay",
            Arguments = audioFilePath,
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true
        };
        Process.Start(playProcess);
    }
    

    前置操作:先安装ALSA工具包,执行命令sudo apt-get install alsa-utils。

  • 跨平台音频库AudioSharp

    using AudioSharp;
    using AudioSharp.WaveOut;
    
    public void PlayServerAudio(string audioFilePath)
    {
        using var audioReader = new AudioFileReader(audioFilePath);
        using var waveOutput = new WaveOut();
        waveOutput.Init(audioReader);
        waveOutput.Play();
    }
    

Blazor交互要点

  • Blazor Server模式下,前端通过按钮点击触发服务器端方法(依赖SignalR通信),直接调用上述播放逻辑即可。
  • 权限配置:
    • Windows:远程桌面环境下需启用音频重定向;本地运行无需额外权限。
    • Linux:将运行Blazor服务的用户加入audio组,执行sudo usermod -aG audio [你的服务用户名]。

内容的提问来源于stack exchange,提问作者user13720755

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:35:15