0

我有一个应用程序,它使用 Node.JS 流式传输 MP3。目前这是通过以下发布路线完成的......

app.post('/item/listen',routes.streamFile)
...
exports.streamFile = function(req, res){
  console.log("The name is "+ req.param('name'))
  playlistProvider.streamFile(res, req.param('name'))
}
...
PlaylistProvider.prototype.streamFile = function(res, filename){
  res.contentType("audio/mpeg3");
  var readstream = gfs.createReadStream(filename, {
      "content_type": "audio/mpeg3",
      "metadata":{
        "author": "Jackie"
       },
       "chunk_size": 1024*4 });
  console.log("!")
  readstream.pipe(res);
}

有没有人可以帮助我在客户端阅读此内容?我想使用 JPlayer 或 HTML5,但我对其他选项持开放态度。

4

2 回答 2

0

所以这里真正的问题是,我们正在“请求一个文件”,所以这作为 GET 请求会更好。为了做到这一点,我使用了明确的“RESTful”语法'/item/listen/:name'。然后,您可以按照上一张海报提供的链接中指定的方式使用 JPlayer。

于 2012-06-22T00:00:11.217 回答
-1

我假设您没有费心访问他们的网站,因为如果您这样做了,您会看到几个如何使用 HTML5/JPlayer 实现此目的的示例。以下是其在线开发人员文档提供的基本示例:

<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script> <script type="text/javascript" src="/js/jquery.jplayer.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#jquery_jplayer_1").jPlayer({ ready: function() { $(this).jPlayer("setMedia", { mp3: "http://www.jplayer.org/audio/mp3/Miaow-snip-Stirring-of-a-fool.mp3" }).jPlayer("play"); var click = document.ontouchstart === undefined ? 'click' : 'touchstart'; var kickoff = function () { $("#jquery_jplayer_1").jPlayer("play"); document.documentElement.removeEventListener(click, kickoff, true); }; document.documentElement.addEventListener(click, kickoff, true); }, loop: true, swfPath: "/js" }); }); </script> </head> <body> <div id="jquery_jplayer_1"></div> </body> </html>

于 2012-06-21T23:13:41.243 回答