MRDLNA
MRDLNA copied to clipboard
你好,这个库支持进口电视(例如索尼电视)的投屏吗?
你好,这个库支持进口电视(例如索尼电视)的投屏吗?
额...这个还真不好说...关键看电视端支持的DLNA协议吧, 如果是标准协议应该可以. 可以去家电商场试试.
现在有一个叫乐播投屏商业化的SDK,支持大部分国产TV,缺点就是不支持进口电视。我们公司就采用了乐播投屏的SDK,总有用户抱怨不能投屏的问题。
@zhang-yong-shuai 请问你有解决索尼投屏的问题吗?我用的Platinum库来投屏,国内电视基本没问题,但是索尼电视初始化投屏时调用SetAVTransportURI(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, const char* uri, const char* metadata, void* userdata),返回错误,应该是metadata设置为空导致的问题。 参考:https://stackoverflow.com/questions/28422609/how-to-send-setavtransporturi-using-upnp-c 不知道你有没有别的解决方案呢?
@ChippyBiu
MetaData可以试试参考下这个类的代码
CLUPnPRenderer.m
[action setArgumentValue:VideoDIDL forName:@"CurrentURIMetaData"];
https://github.com/MQL9011/MRDLNA/blob/master/MRDLNA/Classes/ARC/DLNA/CLUPnPRenderer.m
@MQL9011 好的,我去尝试一下,非常感谢。
@ChippyBiu SetAVTransportURI()的metadata参数必须要传拼装好的DIDL,可以自己按照标准格式拼装,或者直接使用DMS配置好的。
@GintokiS 谢谢,用DMS配置好的成功投屏到索尼电视上了,不过投屏到夏普电视上的果果投屏,会导致音画不同步,抓包发现是Subscribe之后,不断地sendMessage,不确定是不是私有协议。
@ChippyBiu SetAVTransportURI()的metadata参数必须要传拼装好的DIDL,可以自己按照标准格式拼装,或者直接使用DMS配置好的。
在哪里可以查找标准格式?我发现有的设备不需要metadata,有的必须要,不同媒体类型的metadata还不一样,有标准格式就好了
@AceLearnGit 暂时没有找到,可以参考GintokiS 的方法。
@YogurtBiu 你好 我编译Platinum遇到点问题能向您请教一下吗