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"