【问题标题】:Cling AVTransport: UPnP specification violationCling AVTransport:UPnP 规范违规
【发布时间】:2015-08-31 16:37:22
【问题描述】:

所以实际上我正在尝试将 MP3 文件发送到我的电视。但是由于电视只是给你一个内部服务器错误,我创建了一个 MediaRenderer,就像在 Cling 示例中一样。通过监视它,我收到了一条奇怪的错误消息。 但首先我的代码:

    ActionCallback setAVTransportURIAction = new SetAVTransportURI(service,uri,metadata) {
        @Override
        public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) {
            System.out.println(defaultMsg);
        }
    };

uri 是本地 http 服务器的字符串:http://127.0.0.1/file.mp3 我使用 DIDL 解析器创建的元数据

DIDLContent didl = new DIDLContent();       
ProtocolInfo info = new ProtocolInfo("http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01500000000000000000000000000000");
MusicTrack track =new MusicTrack("0","0",title,creator,album, artist, new Res(info, size, uri));
didl.addItem(track);
DIDLParser parser = new DIDLParser();       
String metadata="";
try {
    metadata = parser.generate(didl);
} catch (Exception e) {
    e.printStackTrace();
}

就像手册中的示例一样,我通过 upnpservice 发送它:

upnpService.getControlPoint().execute(setAVTransportURIAction);

我知道电视没有收到文件,因为我路由到本地主机。 但是我用于调试的“假”MediaRenderer 却吐出了这条消息:

[cling-10        ] WARNING - 18:31:08,478 - A10ServiceDescriptorBinderImpl#generateActionArgument: UPnP specification violation: Not producing <retval> element to be compatible with WMP12: (ActionArgument, OUT) Actions http://127.0.0.1/file.mp3
[cling-35        ] INFO   - 18:31:09,447 - DA10DeviceDescriptorBinderImpl#hydrateDevice: Invalid X_DLNADOC value, ignoring value: SST-1.0
[cling-10        ] INFO   - 18:31:11,701 - DA10DeviceDescriptorBinderImpl#hydrateDevice: Invalid X_DLNADOC value, ignoring value: SST-1.0
[cling-35        ] INFO   - 18:31:11,702 - DA10DeviceDescriptorBinderImpl#hydrateDevice: Invalid X_DLNADOC value, ignoring value: SST-1.0

假的 MediaRenderer 客户端不在 Cling 的支持示例中,我没有太大变化

怎么了?

【问题讨论】:

    标签: java upnp


    【解决方案1】:

    查看实际实现我可以看到:

    if (actionArgument.isReturnValue()) {
        // TODO: UPNP VIOLATION: WMP12 will discard RenderingControl service if it contains <retval> tags
        log.warning("UPnP specification violation: Not producing <retval> element to be compatible with WMP12: " + actionArgument);
        // appendNewElement(descriptor, actionArgumentElement, ELEMENT.retval);
    }
    

    看起来动作参数不是“返回值”。我有同样的问题,所以当我进一步弄清楚这意味着什么时......将在这个答案中发布更多信息!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多