KODI 中的 UPnP 实现
UPnP implementation in KODI
我正在尝试在 kodi 中播放 url http://192.168.1.160:10243/WMPNSSv4/1921188402/1_NC0yNTY.mp3 系统中的歌曲。
相同的代码在 windows 媒体播放器中有效,但为什么在 KODI 中无效?
KODI 系统的 IP 是 192.168.1.144 我正在尝试发送如下操作:
curl -v -o response.xml -H "Content-Type: text/xml; Charset="UTF-8"" -H "SOAPAction: "urn:schemas-upnp-org:service:AVTransport :1#SetAVTransportURI"" -d @AV_transport.xml -X POST http://192.168.1.144:1356/AVTransport/c093ed10-0986-7173-937f-3fc4bbf9ec3a/control.xml
我的 AV_transport.xml 包含:
<?xml version = "1.0" encoding="utf-8"?>
<s:Envelope
xmlns:s = "http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:Service:AVTransport:1">
<InstanceID>0</InstanceID>
<CurrentURI>http://192.168.1.160:10243/WMPNSSv4/1921188402/1_NC0yNTY.mp3</CurrentURI>
<CurrentURIMetaData></CurrentURIMetaData>
</u:SetAVTransportURI>
</s:Body>
</s:Envelope>
我收到 header 消息 500 Bad reuest: Bad namespace。请告诉我我的代码哪里有错误。
我相当确定 XML 命名空间名称根据定义区分大小写,即使它们不区分大小写,我也希望某些实现会像那样对待它们。可能有些软件在这里不认为大写 S 有效:
xmlns:u="urn:schemas-upnp-org:Service:AVTransport:1"
我正在尝试在 kodi 中播放 url http://192.168.1.160:10243/WMPNSSv4/1921188402/1_NC0yNTY.mp3 系统中的歌曲。
相同的代码在 windows 媒体播放器中有效,但为什么在 KODI 中无效?
KODI 系统的 IP 是 192.168.1.144 我正在尝试发送如下操作:
curl -v -o response.xml -H "Content-Type: text/xml; Charset="UTF-8"" -H "SOAPAction: "urn:schemas-upnp-org:service:AVTransport :1#SetAVTransportURI"" -d @AV_transport.xml -X POST http://192.168.1.144:1356/AVTransport/c093ed10-0986-7173-937f-3fc4bbf9ec3a/control.xml
我的 AV_transport.xml 包含:
<?xml version = "1.0" encoding="utf-8"?>
<s:Envelope
xmlns:s = "http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:Service:AVTransport:1">
<InstanceID>0</InstanceID>
<CurrentURI>http://192.168.1.160:10243/WMPNSSv4/1921188402/1_NC0yNTY.mp3</CurrentURI>
<CurrentURIMetaData></CurrentURIMetaData>
</u:SetAVTransportURI>
</s:Body>
</s:Envelope>
我收到 header 消息 500 Bad reuest: Bad namespace。请告诉我我的代码哪里有错误。
我相当确定 XML 命名空间名称根据定义区分大小写,即使它们不区分大小写,我也希望某些实现会像那样对待它们。可能有些软件在这里不认为大写 S 有效:
xmlns:u="urn:schemas-upnp-org:Service:AVTransport:1"