2017-03-08 7 views
0

ノード+を使用して、stream.pipe(res)機能を使用してブラウザにオーディオストリームを表現しています。アーティスト名やアルバムアートなど、ストリーミングされている音楽のメタデータを追加したいと思います。この情報を送信するために応答ヘッダーを使用しますか?どうしたらいいですか?ノード - ID3音楽メタデータをオーディオストリームに添付する

var url = 'https://www.youtube.com/watch?v='+videoId; 

var audio = ytdl(url, { 
    filter: 'audioonly' 
}); 

audio.on('response', function(data) { 

    ... 

    res.writeHead(206, { 
     'Content-Type': 'audio/mpeg', 
     'Content-Range': ..., 
     'Content-Length': ..., 
     'Content-Disposition': 'inline; filename="' + req.query.track + ' - ' + req.query.artist + '.mp3"', 
     'Accept-Ranges': 'bytes', 

     // Add data like this? 
     'Content-???': 'Artist=' + artist + ',Album=' + album 
    }); 
}); 

audio.pipe(res); 

私はオーディオソースにnode-ytdl-coreモジュールを使用しています。

答えて

2

何かが私はあなたのアールは、ヘッダを送信するので

res.writeHead(200, { 
    'Content-Type': 'audio/mpeg3', 
    'Transfer-Encoding': 'chuncked', 
    'icy-br': '##', 
    'ice-audio-info': 'bitrate=128;samplerate=22050', 
    'icy-genre': 'Alternative', 
    'icy-name': "Dj-Radio", 
    'icy-description': "A NodeJS mp3 audio streamer", 
    'icy-url': "http://localhost:8080", 
    'Cache-Control': "no-cache", 
    'Connection': 'Keep-Alive' 
}); 

を使用していた、とあなたは一つのストリームで複数の曲をストリーミングする場合にのみ、一度それを行うことができますし、開始とメタデータをタイミングを合わせてきたいですあなたは問題に遭遇します。 ヘッダーは1つしか送信できないため、ヘッダーは送信できません。ヘッダーはヘッダーではありません。ここで

は、私はインターネットラジオを作っレポ(それがきちんとしていない場合のみ、申し訳ありませんコーディング)>https://github.com/Hobgoblin101/Dj-Radio

+0

である私は、私はすぐに – Hobgoblin101

+0

感謝をしようとしているのアイデアを持っていると思うが、私は必要はありません同じストリーム内のデータを更新する –

関連する問題