Streaming 无线流媒体服务器Elixir plug&;牛仔
我想在Elixir中构建一个无线电服务器,我当前的代码使用plug&cowboy(感谢@rozap)将音频文件流式传输到浏览器客户端Streaming 无线流媒体服务器Elixir plug&;牛仔,streaming,elixir,Streaming,Elixir,我想在Elixir中构建一个无线电服务器,我当前的代码使用plug&cowboy(感谢@rozap)将音频文件流式传输到浏览器客户端 defmodule Plugtest do import Plug.Conn @chunk_size 128 @song_path "./song.mp3" @content_type "audio/mpeg" @status_code 200 def init(opts), do: opts def call(conn, opt
defmodule Plugtest do
import Plug.Conn
@chunk_size 128
@song_path "./song.mp3"
@content_type "audio/mpeg"
@status_code 200
def init(opts), do: opts
def call(conn, opts) do
conn = conn
|> send_chunked(@status_code)
|> put_resp_content_type(@content_type)
File.stream!(@song_path, [], @chunk_size)
|> Enum.into(conn)
end
end
IO.puts "streaming @ http://localhost:4000"
Plug.Adapters.Cowboy.http Plugtest, []
我希望此服务器工作并播放播放列表中的歌曲
(对于本测试,循环播放song.mp3即可)
并保存当前区块,以便每个新用户都将从该区块中侦听
这将使所有用户都能像普通的无线电服务器一样,在同一秒钟内听到消息,我如何才能做到这一点呢?我尝试编写一个循环读取文件的过程,另一个过程管理到文件的连接和流,还有什么不适合您?“如何写作”是一个开放性的问题。如果你发布你的实现会更好,如果有些东西不起作用,那就问问为什么吧。对不起,我的问题是如何处理连接问题,并将相同的块流到所有连接的用户,在编码方面没有取得进展,我想了解长生不老药解决这个问题的方法before@tkowal请检查新的问题在我试图写一个进程,从文件中读取一个循环和另一个进程,管理连接和流到他们和什么不适合你?“如何写作”是一个开放性的问题。如果你发布你的实现会更好,如果有些东西不起作用,那就问问为什么吧。对不起,我的问题是如何处理连接问题,并将相同的块流到所有连接的用户,在编码方面没有取得进展,我想了解长生不老药解决这个问题的方法before@tkowal请在以下网址查看新问题: