[英]C# dotnet console app to play mp3 on raspberry pi 3
我通过 C# 中的 dotnet 控制台应用程序编写了一个 Telegram Bot。 它识别命令(如 /hi)并执行操作...
我想集成的一个功能是可以在我发送号码时播放歌曲。
如何在我的 Raspberri Pi 3 上通过 C# 播放该 .mp3 文件?
dotnet 不允许使用“System.Media”库...
我已经尝试搜索 NuGet 但我什么也没找到,我还尝试在网上搜索并搜索一些指南...
你有什么建议吗?
一个非常脏的解决方法是将 mp3 传递给 mpv 媒体播放器(在命令行中运行的时尚小播放器。
为此,您必须先安装 MPV:
sudo apt install mpv -y
要从 .NET Core 应用程序中启动播放器,可以使用以下代码:
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}");
您还可以通过使用命令行参数--loop=inf
for mpv 无限期地循环文件(在这种情况下,您必须在某个时间--loop=inf
进程)
享受!
我目前找到的最佳解决方案是https://www.nuget.org/packages/NetCoreAudio/ 。 Nuget 适用于 MP3 文件,但不适用于流。
带有 doc 的项目存储库位于: https : //github.com/mobiletechtracker/NetCoreAudio 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.