You've already forked godot
							
							
				mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 12:00:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0" encoding="UTF-8" ?>
 | 
						|
<class name="CameraServer" inherits="Object" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
 | 
						|
	<brief_description>
 | 
						|
		Server keeping track of different cameras accessible in Godot.
 | 
						|
	</brief_description>
 | 
						|
	<description>
 | 
						|
		The [CameraServer] keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
 | 
						|
		It is notably used to provide AR modules with a video feed from the camera.
 | 
						|
		[b]Note:[/b] This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no [CameraFeed]s will be available. To get a [CameraFeed] on iOS, the camera plugin from [url=https://github.com/godotengine/godot-ios-plugins]godot-ios-plugins[/url] is required.
 | 
						|
	</description>
 | 
						|
	<tutorials>
 | 
						|
	</tutorials>
 | 
						|
	<methods>
 | 
						|
		<method name="add_feed">
 | 
						|
			<return type="void" />
 | 
						|
			<param index="0" name="feed" type="CameraFeed" />
 | 
						|
			<description>
 | 
						|
				Adds the camera [param feed] to the camera server.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="feeds">
 | 
						|
			<return type="CameraFeed[]" />
 | 
						|
			<description>
 | 
						|
				Returns an array of [CameraFeed]s.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_feed">
 | 
						|
			<return type="CameraFeed" />
 | 
						|
			<param index="0" name="index" type="int" />
 | 
						|
			<description>
 | 
						|
				Returns the [CameraFeed] corresponding to the camera with the given [param index].
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_feed_count">
 | 
						|
			<return type="int" />
 | 
						|
			<description>
 | 
						|
				Returns the number of [CameraFeed]s registered.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="remove_feed">
 | 
						|
			<return type="void" />
 | 
						|
			<param index="0" name="feed" type="CameraFeed" />
 | 
						|
			<description>
 | 
						|
				Removes the specified camera [param feed].
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
	</methods>
 | 
						|
	<members>
 | 
						|
		<member name="monitoring_feeds" type="bool" setter="set_monitoring_feeds" getter="is_monitoring_feeds" default="false">
 | 
						|
			If [code]true[/code], the server is actively monitoring available camera feeds.
 | 
						|
			This has a performance cost, so only set it to [code]true[/code] when you're actively accessing the camera.
 | 
						|
			[b]Note:[/b] After setting it to [code]true[/code], you can receive updated camera feeds through the [signal camera_feeds_updated] signal.
 | 
						|
			[codeblocks]
 | 
						|
			[gdscript]
 | 
						|
			func _ready():
 | 
						|
				CameraServer.camera_feeds_updated.connect(_on_camera_feeds_updated)
 | 
						|
				CameraServer.monitoring_feeds = true
 | 
						|
 | 
						|
			func _on_camera_feeds_updated():
 | 
						|
				var feeds = CameraServer.feeds()
 | 
						|
			[/gdscript]
 | 
						|
			[csharp]
 | 
						|
			public override void _Ready()
 | 
						|
			{
 | 
						|
				CameraServer.CameraFeedsUpdated += OnCameraFeedsUpdated;
 | 
						|
				CameraServer.MonitoringFeeds = true;
 | 
						|
			}
 | 
						|
 | 
						|
			void OnCameraFeedsUpdated()
 | 
						|
			{
 | 
						|
				var feeds = CameraServer.Feeds();
 | 
						|
			}
 | 
						|
			[/csharp]
 | 
						|
			[/codeblocks]
 | 
						|
		</member>
 | 
						|
	</members>
 | 
						|
	<signals>
 | 
						|
		<signal name="camera_feed_added">
 | 
						|
			<param index="0" name="id" type="int" />
 | 
						|
			<description>
 | 
						|
				Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in).
 | 
						|
			</description>
 | 
						|
		</signal>
 | 
						|
		<signal name="camera_feed_removed">
 | 
						|
			<param index="0" name="id" type="int" />
 | 
						|
			<description>
 | 
						|
				Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged).
 | 
						|
			</description>
 | 
						|
		</signal>
 | 
						|
		<signal name="camera_feeds_updated">
 | 
						|
			<description>
 | 
						|
				Emitted when camera feeds are updated.
 | 
						|
			</description>
 | 
						|
		</signal>
 | 
						|
	</signals>
 | 
						|
	<constants>
 | 
						|
		<constant name="FEED_RGBA_IMAGE" value="0" enum="FeedImage">
 | 
						|
			The RGBA camera image.
 | 
						|
		</constant>
 | 
						|
		<constant name="FEED_YCBCR_IMAGE" value="0" enum="FeedImage">
 | 
						|
			The [url=https://en.wikipedia.org/wiki/YCbCr]YCbCr[/url] camera image.
 | 
						|
		</constant>
 | 
						|
		<constant name="FEED_Y_IMAGE" value="0" enum="FeedImage">
 | 
						|
			The Y component camera image.
 | 
						|
		</constant>
 | 
						|
		<constant name="FEED_CBCR_IMAGE" value="1" enum="FeedImage">
 | 
						|
			The CbCr component camera image.
 | 
						|
		</constant>
 | 
						|
	</constants>
 | 
						|
</class>
 |