我可以<#>看不到(M)任何免费的开放源代码,可用于商业项目,堆栈,从后端到前端,用于flac音频流(不是收音机,而是按需音频)。
首先,SQL server是存储完整文件的良好基础吗?音频块是在准备之前还是在飞行中准备的?我还计划在后端使用.NET 6(作为end服务器,以及IIS / Nginx作为代理)。
在前端,我找不到许多开放和免费的商业项目,火焰阅读器。在2022年,我可以使用一个普通的flac阅读器或图书馆,并使用组件的可能性吗?
发布于 2022-03-16 14:04:54
您可以使用LEADTOOLS 多媒体开发工具包和流媒体服务器来完成这一任务。(披露:我为LEADTOOLS供应商工作)。
如果您已经拥有FLAC格式的音频文件,您可以使用流媒体服务器按需提供音频文件。本C#教程显示了流MP4文件并在web浏览器中显示它所需的代码。只需将该教程中的文件“DaDa_H264.mp4”替换为音频文件(如“audio.flac”),教程中的相同代码即可。我试过了,并且能够在Windows和Android上播放Mozilla中的流媒体FLAC音频。并非所有浏览器似乎都支持FLAC播放,但如果您希望使用本公司的Media Foundation Play控件使用此代码,则可以创建自己的Windows播放器:
using Leadtools.MediaFoundation;
static void PlayFLAC(string ipAddress, int port, string fileName)
{
string url = $"http://{ipAddress}:{port}/{fileName}";
PlayCtrl play = new PlayCtrl();
play.SourceFile = url;
MessageBox.Show("Playing streamed media");
}
PlayFLAC("192.168.0.124", 6969, "audio.flac");如果需要在服务器上将媒体文件转换为FLAC,然后再对其进行流处理,则可以使用以下转换控件:
using Leadtools.MediaFoundation;
static void ConvertToFLAC(string inputFile, string outputFile)
{
ConvertCtrl convert = new ConvertCtrl(false);
convert.SourceFile = inputFile;
convert.TargetFile = outputFile;
convert.TargetFormat = TargetFormatType.FLAC;
convert.StartConvert();
while (convert.State != ConvertState.Stopped) //wait till done
System.Windows.Forms.Application.DoEvents();
convert.ResetSource();
convert.ResetTarget();
MessageBox.Show($"Finished conversion to file {outputFile}");
}
string inputFile = "DaDa_CMP.avi";
string outputFile = "audio.flac";
ConvertToFLAC(inputFile, outputFile);如果您想尝试SDK和流服务器,可以使用免费的评估这里。
https://softwarerecs.stackexchange.com/questions/82398
复制相似问题