我正在使用此文档 https://nto.github.io/AirPlay.html#screenmirroring 创建一个 airplay 服务器
我的代码如下
const airplay = require('airplay-server');
const macaddress = require('macaddress');
const express = require('express');
const http = express()
macaddress.one((err, mac) => {
airplayServer = airplay({
name: 'test',
txt: {
deviceid: mac,
features: '0x5A7FFFF7',
flags: '0x44',
model: 'AppleTV3,2',
srcvers: '220.68',
vv: 2
}
})
airplayServer.listen(7000);
airplayServer.on('request', function (req, res) {
console.log('Request received');
console.log(req.method, req.url)
console.log(req.headers)
})
airplayServer.on('listening', function () {
console.log('Listen 7000');
})
})
http.get('/stream.xml', (req, res) => {
res.header("Content-Type", "text/x-apple-plist+xml");
res.send('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>height</key><integer>720</integer><key>overscanned</key><true/><key>refreshRate</key><real>0.016666666666666666</real><key>version</key><string>130.14</string><key>width</key><integer>1280</integer></dict></plist>')
});
http.post('/stream', ((req, res) => {
console.log('STREAM !!!!!');
res.end(200);
}))
http.listen(7100)
我在 7000 上有一个服务器,在 7100 上有另一个服务器来使用我手机的屏幕镜像功能
当我在 iPhone 上进行屏幕镜像时会出现
test
设备,但我收到了错误消息 Unable to connect to "test"
该文档很旧,可能已经过时。
我没有收到任何邮件或请求
最佳答案
我试过你的代码,我遇到了同样的问题。我认为您使用的库(和文档)太旧了,无法 catch AirPlay 协议(protocol)。在过去四年中,协议(protocol)以及您使用的 airplay-server 库可能发生了变化。我强烈建议使用更新的框架,我一直在这里搜索: https://github.com/topics/airplay-server 。祝你好运!
关于ios - 创建一个airplay服务器nodejs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57481796/