Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js发送音频文件并允许用户查找_Javascript_Node.js_Audio_Sails.js - Fatal编程技术网

Javascript Node.js发送音频文件并允许用户查找

Javascript Node.js发送音频文件并允许用户查找,javascript,node.js,audio,sails.js,Javascript,Node.js,Audio,Sails.js,我正在尝试创建一个应用程序,允许用户动态更改他们正在收听的曲目。我正在节点顶部使用sails.js。我遇到的问题是,当用户尝试在歌曲中查找当前时间之前或之后的某个时间时,歌曲将重新开始 这是我尝试在服务器上实现的最新代码 'index': function (request, response) { var path = require('path'); var fs = require('fs'); var filePath = path.joi

我正在尝试创建一个应用程序,允许用户动态更改他们正在收听的曲目。我正在节点顶部使用sails.js。我遇到的问题是,当用户尝试在歌曲中查找当前时间之前或之后的某个时间时,歌曲将重新开始

这是我尝试在服务器上实现的最新代码

'index': function (request, response) {
        var path = require('path');
        var fs = require('fs');
        var filePath = path.join('path\to\folder','music.mp3')
        var stat = fs.statSync(filePath);

        response.writeHead(200, {
        'Content-Type': 'audio/mpeg',
        'Content-Length': stat.size
        });

        fs.readFile(filePath,function (err,data) {
            response.send(data);
        });

    }

找到节点的媒体流模块:

运行:

调整代码:

'index': function (request, response) {
        var AUDIOFILE = 'path/to/audio.mp3'
        ms.pipe(request,response,AUDIOFILE);
    }

简单地通过模块来实现。希望这对遇到类似问题的人有所帮助。

您需要支持字节范围请求。您知道如何使用node实现这一点吗?本模块似乎假设您的资源位于文件系统中(而不是数据库或其他存储机制)
'index': function (request, response) {
        var AUDIOFILE = 'path/to/audio.mp3'
        ms.pipe(request,response,AUDIOFILE);
    }