⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mediarendererfactory.java

📁 国外的j2me播放器软件
💻 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 + -