当前位置: 首页>>代码示例>>Java>>正文


Java IServiceCapableConnection.invoke方法代码示例

本文整理汇总了Java中org.red5.server.api.service.IServiceCapableConnection.invoke方法的典型用法代码示例。如果您正苦于以下问题:Java IServiceCapableConnection.invoke方法的具体用法?Java IServiceCapableConnection.invoke怎么用?Java IServiceCapableConnection.invoke使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.red5.server.api.service.IServiceCapableConnection的用法示例。


在下文中一共展示了IServiceCapableConnection.invoke方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setRelayClient

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
public void setRelayClient() {
	IConnection c = Red5.getConnectionLocal();
	if (c instanceof IServiceCapableConnection) {
		relayclient = c;
		state.set(values.relayclient, c.getRemoteAddress());
		Util.log("relayclient connected from: " + state.get(values.relayclient), this);

		if (authtoken != null) {
			IServiceCapableConnection sc = (IServiceCapableConnection) relayclient;
			sc.invoke("relayCallClient", new Object[] { "writesetting",
					GUISettings.relayserverauth.toString()+" "+authtoken });
		}

		if (state.exists(values.driver)) {
			player.close();
			player = null;
			loginRecords.signoutDriver();
			driverCallServer(PlayerCommands.publish, streamstate.stop.toString());
		}
	}
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:22,代码来源:Application.java

示例2: setGrabberVideoSoundMode

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
private void setGrabberVideoSoundMode(String str) {

		if (!settings.getBoolean(ManualSettings.useflash)) return;
		
		if (state.getBoolean(State.values.autodocking.name())) {
			messageplayer("command dropped, autodocking", null, null);
			return;
		}

		if (state.get(State.values.stream) == null) {
			messageplayer("stream control unavailable, server may be in setup mode", null, null);
			return;
		}

		long timeout = System.currentTimeMillis() + GRABBERRELOADTIMEOUT;
		while (!(grabber instanceof IServiceCapableConnection) && System.currentTimeMillis() < timeout ) { Util.delay(10); }
		if (!(grabber instanceof IServiceCapableConnection))
			Util.log("setGrabberVideoSoundMode() error grabber reload timeout", this);

		IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
		sc.invoke("videoSoundMode", new Object[]{str});
		state.set(State.values.videosoundmode, str);
		Util.log("grabber video sound mode = " + str, this);
	}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:25,代码来源:Application.java

示例3: frameGrab

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
/**  */
	public boolean frameGrab(String res) {

		 if(state.getBoolean(State.values.framegrabbusy.name()) || 
				 !(state.get(State.values.stream).equals(Application.streamstate.camera.toString()) ||
						 state.get(State.values.stream).equals(Application.streamstate.camandmic.toString()))) {
			 messageplayer("stream unavailable or framegrab busy", null, null);
			 return false;
		 }

		if (settings.getBoolean(ManualSettings.useflash)) {
			if (grabber instanceof IServiceCapableConnection) {
				IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
				if (res.equals(AutoDock.LOWRES)) sc.invoke("framegrabMedium", new Object[]{});
				else sc.invoke("framegrab", new Object[]{});
				state.set(State.values.framegrabbusy.name(), true);
			}
		}
		else video.framegrab(res);

//		Util.debug("framegrab start at: "+System.currentTimeMillis(), this);
		return true;
	}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:24,代码来源:Application.java

示例4: messageplayer

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
public void messageplayer(String str, String status, String value) {

		if (state.exists(values.relayserver)) {
			red5client.sendToRelay("messageplayer", new Object[] {str, status, value});
		}
		
		if (player instanceof IServiceCapableConnection) {
			IServiceCapableConnection sc = (IServiceCapableConnection) player;
			sc.invoke("message", new Object[] { str, "green", status, value });
		}
		
		if(commandServer!=null) {
			if(str!=null){
				if(! str.equals("status check received")) // basic ping from client, ignore
				commandServer.sendToGroup(TelnetServer.MSGPLAYERTAG + " " + str);
			}
			if (status !=null) {
				commandServer.sendToGroup(TelnetServer.MSGPLAYERTAG + " <status> " + status + " " + value);
			}
		}

	}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:23,代码来源:Application.java

示例5: beAPassenger

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
/** */
private void beAPassenger(String user) {
	String stream = state.get(State.values.stream);
	pendingplayerisnull = true;
	String str = user + " added as passenger";
	messageplayer(str, null, null);
	Util.log(str,this);
	messageGrabber(str, null);
	if (!stream.equals("stop")) {
		Collection<Set<IConnection>> concollection = getConnections();
		for (Set<IConnection> cc : concollection) {
			for (IConnection con : cc) {
				if (con instanceof IServiceCapableConnection
						&& con != grabber && con != player) {
					IServiceCapableConnection sc = (IServiceCapableConnection) con;
					sc.invoke("message", new Object[] { "streaming " + stream, "green", "stream", stream }); }
			}
		}
	}
	loginRecords.bePassenger(user);
	
	if (settings.getBoolean(GUISettings.loginnotify)) {
		saySpeech("passenger lawg inn f" + user);
	}
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:26,代码来源:Application.java

示例6: chat

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
private void chat(String str) {
	Collection<Set<IConnection>> concollection = getConnections();
	for (Set<IConnection> cc : concollection) {
		for (IConnection con : cc) {
			if (con instanceof IServiceCapableConnection && con != grabber
					&& !(con == pendingplayer && !pendingplayerisnull)) {
				IServiceCapableConnection n = (IServiceCapableConnection) con;
				n.invoke("message", new Object[] { str, "yellow", null, null });
			}
		}
	}
	Util.log("chat: " + str,this);
	messageGrabber("<CHAT>" + str, null);
	if(str!=null) if (commandServer != null) { 
		str = str.replaceAll("</?i>", "");
		commandServer.sendToGroup(TelnetServer.TELNETTAG+" chat from "+ str);
	}
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:19,代码来源:Application.java

示例7: relayPing

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
public void relayPing() {
	Util.debug("ping from relayclient", this); // TODO: testing
	if (relayclient == null) {
		Util.log("error,relayclient null", this); // TODO: testing
		return;
	}
	IServiceCapableConnection sc = (IServiceCapableConnection) relayclient;
	sc.invoke("relayPong", new Object[] { });
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:10,代码来源:Application.java

示例8: sendplayerfunction

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
public void sendplayerfunction(String fn, String params) {
	if (player instanceof IServiceCapableConnection) {
		IServiceCapableConnection sc = (IServiceCapableConnection) player;
		sc.invoke("playerfunction", new Object[] { fn, params });
	}

	if (state.exists(values.relayserver)) {
		red5client.sendToRelay("sendplayerfunction", new Object[]{fn, params});
	}
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:11,代码来源:Application.java

示例9: messageGrabber

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
public void messageGrabber(String str, String status) {
	Util.debug("TO grabber flash: " + str + ", " + status, this);

	if (grabber instanceof IServiceCapableConnection) {
		IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
		sc.invoke("message", new Object[] { str, status });
	}
	
	if(commandServer != null) {
		if(str!=null) commandServer.sendToGroup(TelnetServer.MSGGRABBERTAG + " " + str);
		if (status != null) commandServer.sendToGroup(TelnetServer.MSGGRABBERTAG + " <status> " + status );
	}
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:14,代码来源:Application.java

示例10: assumeControl

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
/** */
private void assumeControl(String user) { 
	messageplayer("controls hijacked", "hijacked", user);
	if(player==null) return;
	if(pendingplayer==null) { pendingplayerisnull = true; return; }

	String con = "connected";

	if (state.exists(values.relayclient)) {
		IServiceCapableConnection t = (IServiceCapableConnection) relayclient;
		t.invoke("playerSignIn", new Object[]{state.get(values.driver)});
		con = "relay";
	}

	IConnection tmp = player;
	player = pendingplayer;
	pendingplayer = tmp;
	state.set(State.values.driver, user);
	String str = "connection "+con+" streamsettings " + streamSettings();
	messageplayer(state.get(State.values.driver) + " connected to OCULUS", "multiple", str);
	str = state.get(State.values.driver) + " connected from: " + player.getRemoteAddress();
	Util.log("assumeControl(), " + str,this);
	messageGrabber(str, null);
	initialstatuscalled = false;
	pendingplayerisnull = true;
	loginRecords.beDriver();
	
	if (settings.getBoolean(GUISettings.loginnotify)) {
		saySpeech("lawg inn " + state.get(State.values.driver));
	}


}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:34,代码来源:Application.java

示例11: roomConnect

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
@Override
public boolean roomConnect(IConnection conn, Object[] params) {
	_log.debug("roomConnect : ");

	IServiceCapableConnection service = (IServiceCapableConnection) conn;
	String streamId = conn.getClient().getId();

	_log.debug("### Client connected to OpenMeetings, register Client StreamId: {} scope {}", streamId, conn.getScope().getName());

	// Set StreamId in Client
	service.invoke("setId", new Object[] { streamId }, this);

	Map<String, Object> map = conn.getConnectParams();
	String swfURL = map.containsKey("swfUrl") ? (String)map.get("swfUrl") : "";
	String tcUrl = map.containsKey("tcUrl") ? (String)map.get("tcUrl") : "";
	Map<String, Object> connParams = getConnParams(params);
	String uid = (String)connParams.get("uid");
	StreamClient rcm = new StreamClient();
	rcm.setScope(conn.getScope().getName());
	boolean hibernate = HIBERNATE.equals(rcm.getScope());
	if (hibernate && "noclient".equals(uid)) {
		return true;
	}
	String sid = (String)connParams.get(SID_PARAM);
	if (Strings.isEmpty(sid)) {
		sid = (String)connParams.get(PARENT_SID_PARAM);
	}
	if (Strings.isEmpty(sid)) {
		_log.warn("No Owner SID is provided, client is rejected");
		return rejectClient();
	}
	if (hibernate) {
		return true; //mobile initial connect
	}
	if (rcm.getRoomId() == null && !hibernate) {
		_log.warn("Bad room specified, client is rejected");
		return rejectClient();
	}
	if (Boolean.TRUE.equals(connParams.get(MOBILE_PARAM))) {
		rcm.setType(Client.Type.mobile);
	} else if (Boolean.TRUE.equals(connParams.get(ROOM_PARAM))) {
		rcm.setType(Client.Type.room);
	}
	rcm.setUid(Strings.isEmpty(uid) ? UUID.randomUUID().toString() : uid);
	rcm.setSid(sid);
	if (sipDao.getUid() != null && sipDao.getUid().equals(rcm.getSid())) {
		rcm.setType(Client.Type.sip);
	}
	rcm.setUserport(conn.getRemotePort());
	rcm.setRemoteAddress(conn.getRemoteAddress());
	rcm.setSwfurl(swfURL);
	rcm.setTcUrl(tcUrl);
	IApplication iapp = getApp();
	Number width = (Number)connParams.get(WIDTH_PARAM);
	Number height = (Number)connParams.get(HEIGHT_PARAM);
	if (width != null && height != null) {
		//this is for external applications like ffmpeg [OPENMEETINGS-1574]
		rcm.setWidth(width.intValue());
		rcm.setHeight(height.intValue());
	}
	if (map.containsKey("screenClient")) {
		rcm.setType(Client.Type.sharing);
	}
	rcm = sessionManager.add(iapp.updateClient(rcm, false));
	if (rcm == null) {
		_log.warn("Failed to create Client on room connect");
		return false;
	}
	IClientUtil.init(conn.getClient(), rcm.getUid(), Client.Type.sharing == rcm.getType());

	service.invoke("setUid", new Object[] { rcm.getUid() }, this);

	// Log the User
	conferenceLogDao.add(ConferenceLog.Type.clientConnect,
			rcm.getUserId(), streamId, null, rcm.getRemoteAddress(),
			rcm.getScope());
	return true;
}
 
开发者ID:apache,项目名称:openmeetings,代码行数:79,代码来源:ScopeApplicationAdapter.java

示例12: publish

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
public void publish(streamstate mode) {
	
	if (state.getBoolean(State.values.autodocking.name())) {
		messageplayer("command dropped, autodocking", null, null);
		return;
	}

	if (state.get(State.values.stream)  == null) {
		messageplayer("stream control unavailable, server may be in setup mode", null, null);
		return;
	}

	if (state.get(State.values.record) == null)
		state.set(State.values.record, Application.streamstate.stop.toString());

	// if recording and mode changing, kill recording
	if (state.exists(values.stream)) {
		if (!mode.equals(streamstate.valueOf(state.get(values.stream))) && !state.get(values.record).equals(streamstate.stop.toString()))
			video.record(Settings.FALSE);
	}

	ArduinoPrime.checkIfInverted();

	String current = settings.readSetting(GUISettings.vset);
	String vals[] = (settings.readSetting(current)).split("_");
	int width = Integer.parseInt(vals[0]);
	int height = Integer.parseInt(vals[1]);
	int fps = Integer.parseInt(vals[2]);
	int quality = Integer.parseInt(vals[3]);

	if (!settings.getBoolean(ManualSettings.useflash)) {
		video.publish(mode, width, height, fps);
		return;
	}

	// flash
	try {
		// commands: camandmic camera mic stop

		long timeout = System.currentTimeMillis() + GRABBERRELOADTIMEOUT;
		while (!(grabber instanceof IServiceCapableConnection) && System.currentTimeMillis() < timeout ) { Util.delay(10); }
		if (!(grabber instanceof IServiceCapableConnection))
			Util.log("publish() error grabber reload timeout", this);
		IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
		sc.invoke("publish", new Object[] { mode.toString(), width, height, fps, quality });
		messageplayer("command received: publish " + mode.toString(), null, null);
		Util.log("publish: " + mode.toString(), this);

	} catch (NumberFormatException e) {
		Util.log("publish() error " + e.getMessage(),this);
		Util.printError(e);
	}


}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:56,代码来源:Application.java

示例13: grabberPlayPlayer

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
private void grabberPlayPlayer(int nostreams) {
	if (grabber instanceof IServiceCapableConnection) {
		IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
		sc.invoke("play", new Object[] { nostreams });
	}
}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:7,代码来源:Application.java

示例14: setStreamActivityThreshold

import org.red5.server.api.service.IServiceCapableConnection; //导入方法依赖的package包/类
private void setStreamActivityThreshold(String str) {

		String val[] = str.split("\\D+");
		if (val.length != 2) { return; } 
		Integer videoThreshold = Integer.parseInt(val[0]);
		Integer audioThreshold = Integer.parseInt(val[1]);

		String stream = state.get(State.values.stream);
		state.delete(State.values.streamactivity);
		state.set(State.values.streamactivitythreshold, str);
		
		if (videoThreshold != 0 || audioThreshold != 0) {
			if (state.get(State.values.videosoundmode).equals(VIDEOSOUNDMODEHIGH)) {
				setGrabberVideoSoundMode(VIDEOSOUNDMODELOW); // videosoundmode needs to be low to for activity threshold to work
				if (stream != null) {
					if (!stream.equals(streamstate.stop.toString())) { // if stream already running,
						publish(streamstate.valueOf(stream)); // restart, in low mode
					}
				}
			}
			
			if (stream != null) { 
				if (stream.equals(streamstate.stop.toString())) {
					if (audioThreshold == 0 && videoThreshold != 0) { publish(streamstate.camera); }
					else if (audioThreshold != 0 && videoThreshold == 0) { publish(streamstate.mic); }
					else { publish(streamstate.camandmic); }
				}
			}
			state.set(State.values.streamactivityenabled.name(), System.currentTimeMillis());
		}
		else { // 0 0, disable streamActivityDetected()
			state.delete(State.values.streamactivityenabled);
			state.delete(State.values.streamactivitythreshold);
		}

		long timeout = System.currentTimeMillis() + GRABBERRELOADTIMEOUT;
		while (!(grabber instanceof IServiceCapableConnection) && System.currentTimeMillis() < timeout ) { Util.delay(10); }
		if (!(grabber instanceof IServiceCapableConnection))
			Util.log("setStreamActivityThreshold() error grabber reload timeout", this);

		IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
		sc.invoke("setActivityThreshold", new Object[]{videoThreshold, audioThreshold});
		messageplayer("stream activity set to: " + str, null, null);

	}
 
开发者ID:xaxxontech,项目名称:oculusPrime,代码行数:46,代码来源:Application.java


注:本文中的org.red5.server.api.service.IServiceCapableConnection.invoke方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。