📄 mediarendererfactory.java
字号:
package no.auc.one.portableplayer.communication.mediarenderer;
import java.util.*;
import org.xml.sax.*;
import org.apache.log4j.*;
import no.auc.one.portableplayer.communication.*;
public final class MediaRendererFactory extends UPnPDeviceFactory {
private static Logger LOG = Logger.getLogger("MR");
/**
* Find all media renderers available.
*/
public Vector findMediaRenderers() {
return findMediaRenderers("urn:schemas-upnp-org:device:MediaRenderer:1");
}
public Vector findMediaRenderers(String searchString) {
return super.findUPnPDevice(
searchString,
new MediaRendererDeviceDescriptionHandler());
}
public MediaRenderer getMediaRenderer(String locationUrl) {
MediaRenderer mr = null;
mr = (MediaRenderer)super.getUPnPDevice(
locationUrl,
new MediaRendererDeviceDescriptionHandler(locationUrl));
if (mr != null) {
LOG.debug(
"MediaRenderer found " +
" Name:" + mr.getFriendlyName() +
" URLBase:" + mr.getURLBase());
}
return mr;
}
private class MediaRendererDeviceDescriptionHandler extends UPnPDeviceDescriptionHandler {
private MediaRenderer mr;
public MediaRendererDeviceDescriptionHandler() {
super();
}
public MediaRendererDeviceDescriptionHandler(String url) {
super(url);
}
public void endDocument() throws SAXException {
super.endDocument();
if (services == null) {
return;
}
mr = new MediaRenderer(dev);
dev = (UPnPDevice)mr;
for (int i=0; i < services.size(); i++){
UPnPService currentService = (UPnPService)services.elementAt(i);
if (currentService == null) {
continue;
}
LOG.debug("Service found");
if (currentService.getServiceType().equals("urn:schemas-upnp-org:service:AVTransport:1")){
mr.setAVTransportService(
new AVTransportService(currentService));
}
else if (currentService.getServiceType().equals("urn:schemas-upnp-org:service:RenderingControl:1")){
mr.setRenderingControlService(
new RenderingControlService(currentService));
// FYI: If more services are needed to be
// initialized in the future then this break
// statement must be removed!
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -