Javascript:浏览器中的Airplay
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript:浏览器中的Airplay,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1490字,纯文字阅读大概需要3分钟。
内容图文
![Javascript:浏览器中的Airplay](/upload/InfoBanner/zyjiaocheng/791/647505ce381341689d41f589053d3874.jpg)
有没有办法在浏览器中使用JavaScript将图像,视频和音频发送到AirPlay服务器?
解决方法:
在JavaScript中无法实现这一点.但是,您可以使用NPAPI插件从浏览器运行它(非常痛苦).
如果您可以运行本地服务器,则有几个node.js模块可以使这更容易.以下示例将流式传输发布到附近AirPlay设备的任何音频文件.
>它需要NPM的airtunes模块,我维护.
>它使用FFmpeg对文件进行转码.
你可以测试它:
curl -X POST --data-binary @sample.mp3 http://localhost:8080/audio
它假设FFmpeg位于/usr/local/bin / ffmpeg中,并且AirPlay设备在localhost:5000上可用(您可以尝试使用Airfoil扬声器).
var airtunes = require('airtunes'),
express = require('express'),
app = express(),
device = airtunes.add('localhost'),
spawn = require('child_process').spawn;
app.post('/audio', function(req, res) {
// use ffmpeg to reencode data on the fly
var ffmpeg = spawn('/usr/local/bin/ffmpeg', [
'-i', 'pipe:0', // Read from stdin
'-f', 's16le', // PCM 16bits, little-endian
'-ar', '44100', // Sampling rate
'-ac', 2, // Stereo
'pipe:1' // Output to stdout
]);
// pipe data to AirTunes
ffmpeg.stdout.pipe(airtunes, { end: false });
// detect if ffmpeg was not spawned correctly
ffmpeg.stderr.setEncoding('utf8');
ffmpeg.stderr.on('data', function(data) {
if(/^execvp\(\)/.test(data)) {
console.log('failed to start ' + argv.ffmpeg);
process.exit(1);
}
});
req.pipe(ffmpeg.stdin);
req.on('end', function() {
res.end();
});
});
device.on('status', function(status) {
console.log('status: ' + status);
});
console.log('listening on port 8080');
app.listen(8080);
内容总结
以上是互联网集市为您收集整理的Javascript:浏览器中的Airplay全部内容,希望文章能够帮你解决Javascript:浏览器中的Airplay所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。