當前位置: 首頁>>代碼示例>>Java>>正文


Java MPDStandAloneMonitor.addTrackPositionChangeListener方法代碼示例

本文整理匯總了Java中org.bff.javampd.monitor.MPDStandAloneMonitor.addTrackPositionChangeListener方法的典型用法代碼示例。如果您正苦於以下問題:Java MPDStandAloneMonitor.addTrackPositionChangeListener方法的具體用法?Java MPDStandAloneMonitor.addTrackPositionChangeListener怎麽用?Java MPDStandAloneMonitor.addTrackPositionChangeListener使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.bff.javampd.monitor.MPDStandAloneMonitor的用法示例。


在下文中一共展示了MPDStandAloneMonitor.addTrackPositionChangeListener方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: connect

import org.bff.javampd.monitor.MPDStandAloneMonitor; //導入方法依賴的package包/類
/**
 * Connects the player <code>playerId</code> to the given <code>host</code>
 * and <code>port</code> and registers this binding as MPD-Event listener.
 * 
 * @param playerId
 * @param host
 * @param port
 */
private void connect(final String playerId) {
	MpdPlayerConfig config = null;
	try {
    	
    	config = playerConfigCache.get(playerId);
    	if (config != null && config.instance == null) {
    		
    		MPD mpd = new MPD(config.host, config.port, config.password, CONNECTION_TIMEOUT);
    		
    	    MPDStandAloneMonitor mpdStandAloneMonitor = new MPDStandAloneMonitor(mpd, 500);
    	    	mpdStandAloneMonitor.addVolumeChangeListener(this);
    	    	mpdStandAloneMonitor.addPlayerChangeListener(this);
    	    	mpdStandAloneMonitor.addTrackPositionChangeListener(this);	    	    	
    	    	
    	    	final MpdBinding self = this; // 'this' glue for the inner anon instance
    	    	mpdStandAloneMonitor.addOutputChangeListener(new OutputChangeListener() {
    	    		
					@Override
					public void outputChanged(OutputChangeEvent e) {
						// We have to 'wrap' the OutputChangeEvent listener
						// callback and add the playerId so we know which 
						// player generated the event. There's not enough 
						// info on just the OutputChangeEvent to derive 
						// the source player. This 'workaround' is necessary 
						// to support output control on multiple MPD players.
						self.outputChanged(playerId, e);
						
					}
					
				});
    	    	
    	    Thread monitorThread = new Thread(
    	    	mpdStandAloneMonitor, "MPD Monitor (player:" + playerId + ")");
    	    monitorThread.start();
    	    
   			config.instance = mpd;
   			config.monitor = mpdStandAloneMonitor;
    		
    		logger.debug("Connected to player '{}' with config {}", playerId, config);
    	}
    	
    }
	catch(MPDConnectionException ce) {
        logger.error("Error connecting to player '" + playerId + "' with config {}", config, ce);
    }
	catch (UnknownHostException uhe) {
    	logger.error("Wrong connection details for player {}", playerId, uhe);
	}
}
 
開發者ID:andrey-desman,項目名稱:openhab-hdl,代碼行數:58,代碼來源:MpdBinding.java

示例2: connect

import org.bff.javampd.monitor.MPDStandAloneMonitor; //導入方法依賴的package包/類
/**
 * Connects the player <code>playerId</code> to the given <code>host</code>
 * and <code>port</code> and registers this binding as MPD-Event listener.
 *
 * @param playerId
 * @param host
 * @param port
 */
private void connect(final String playerId) {
    MpdPlayerConfig config = null;
    try {

        config = playerConfigCache.get(playerId);
        if (config != null && config.instance == null) {

            MPD mpd = new MPD(config.host, config.port, config.password, CONNECTION_TIMEOUT);

            MPDStandAloneMonitor mpdStandAloneMonitor = new MPDStandAloneMonitor(mpd, 500);
            mpdStandAloneMonitor.addVolumeChangeListener(this);
            mpdStandAloneMonitor.addPlayerChangeListener(this);
            mpdStandAloneMonitor.addTrackPositionChangeListener(this);

            final MpdBinding self = this; // 'this' glue for the inner anon instance
            mpdStandAloneMonitor.addOutputChangeListener(new OutputChangeListener() {

                @Override
                public void outputChanged(OutputChangeEvent e) {
                    // We have to 'wrap' the OutputChangeEvent listener
                    // callback and add the playerId so we know which
                    // player generated the event. There's not enough
                    // info on just the OutputChangeEvent to derive
                    // the source player. This 'workaround' is necessary
                    // to support output control on multiple MPD players.
                    self.outputChanged(playerId, e);

                }

            });

            Thread monitorThread = new Thread(mpdStandAloneMonitor, "MPD Monitor (player:" + playerId + ")");
            monitorThread.start();

            config.instance = mpd;
            config.monitor = mpdStandAloneMonitor;

            logger.debug("Connected to player '{}' with config {}", playerId, config);
        }

    } catch (MPDConnectionException ce) {
        logger.error("Error connecting to player '{}' with config {}", playerId, config, ce);
    } catch (UnknownHostException uhe) {
        logger.error("Wrong connection details for player '{}'", playerId, uhe);
    }
}
 
開發者ID:openhab,項目名稱:openhab1-addons,代碼行數:55,代碼來源:MpdBinding.java


注:本文中的org.bff.javampd.monitor.MPDStandAloneMonitor.addTrackPositionChangeListener方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。