我在C#中通过dotnet控制台应用程序编写了一个电报机器人。它识别命令(如/hi)并执行操作...
我想集成的一个功能是,当我发送一个号码时,可以播放歌曲。
如何在Raspberri Pi 3上通过C#播放.mp3文件?
dotnet不允许使用"System.Media“库...
我已经试着搜索NuGet了,但什么也没找到,我还试着在网上搜索和搜索一些指南……
你有什么意见建议?
发布于 2020-04-24 18:07:49
一个非常肮脏的解决方法是将mp3传递给mpv媒体播放器(在命令行中运行的平滑的小播放器。
为此,您必须先安装MPV:
sudo apt install mpv -y
要从.NET核心应用程序中启动播放器,可以使用以下代码:
string PathToMp3File = "/home/pi/Test.mp3";
System.Diagnostics.Process PulseAudioStart = System.Diagnostics.Process.Start("pactl", "info");
PulseAudioStart.WaitForExit();
if(PulseAudioStart.ExitCode != 0)
throw new Exception($"Failed to initialize the PulseAudio daemon: {PulseAudioStart.ExitCode}");
System.Diagnostics.Process MpvStart = System.Diagnostics.Process.Start("mpv", $"--no-video --gapless-audio --volume=100.0 {PathToMp3File}");
MpvStart.WaitForExit();
if(MpvStart.ExitCode != 0)
throw new Exception($"Failed to start the player: {MpvStart.ExitCode}");
您还可以使用mpv的命令行参数--loop=inf
无限期地循环文件(在这种情况下,您必须在某个时间终止进程)。
享受吧!
发布于 2021-05-02 16:10:22
目前我发现的最好的解决方案是https://www.nuget.org/packages/NetCoreAudio/。Nuget适用于MP3文件,但不适用于流。
包含文档的项目存储库位于以下位置:https://github.com/mobiletechtracker/NetCoreAudio。
https://stackoverflow.com/questions/47445656
复制相似问题