问题描述
public partial class Form1 : Form
{
private LibVLCSharp.Shared.LibVLC libVLC;
private LibVLCSharp.Shared.MediaPlayer mp;
private void button1_Click(object sender,System.EventArgs e)
{
libVLC = new LibVLC();
mp = new MediaPlayer(libVLC);
Media media = new Media(libVLC,new Uri("http://listen.technobase.fm/tunein-aac-hd-pls"));
media.AddOption(":sout=#transcode{vcodec=none,acodec=mp3,ab=128,channels=2,samplerate=44100,scodec=none}:http{dst=:8080/stream.mp3}");
media.AddOption(":sout-keep");
media.AddOption(":no-sout-all");
mp.Play(media);
}
}
流已启动并运行,可通过 VLC 和以下 html5 音频元素访问。 MIME 类型也安装在 IIS 上。 如果我现在尝试通过 IIS 服务器上的 HTML5 音频元素连接到流,则它不起作用。我使用以下 HTML5 音频元素:
<audio controls="controls" autoplay="autoplay">
<source src="http://localhost:8080/stream.mp3" type="audio/mp3" runat="server" />
Your browser does not support this stream!
</audio>
可能是我的 IIS 存在权限问题。我的 IIS 需要什么样的权限才能访问我服务器上的本地流。
解决方法
我部分解决了这个问题。主要问题是我的 IIS 端使用 https 运行,而流只使用 http 运行。如果我关闭 url 重写为 https,则流将在我的浏览器中运行。 我只需要找出如何使用 libvlc 创建 https 流。