Package com.amazonaws.ivs.broadcast
Class DeviceDiscovery
java.lang.Object
com.amazonaws.ivs.broadcast.DeviceDiscovery
- All Implemented Interfaces:
Releasable
Use this class to discover local devices, such as microphones or cameras, to attach to the SDK.
When you are no longer using any of the devices returned, you must call
release()
to make sure resources are cleaned up properly. Once release()
is called,
the devices that have been returned may stop working, and are no longer valid for attaching to a Broadcast
or Stage.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
A listener which notifies when the list of devices changes -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a listener to be notified about device changescreateAudioInputSource
(int channels, BroadcastConfiguration.AudioSampleRate sampleRate, AudioDevice.Format format) Create an audio input for a custom source.Create an image input for a custom source.protected void
finalize()
List available devices for use without attaching to either Stage or Broadcast session.void
release()
Release the resources associated with this device discovery session.void
Removes a previously added device change listener
-
Constructor Details
-
DeviceDiscovery
public DeviceDiscovery(android.content.Context context)
-
-
Method Details
-
addOnDevicesChangedListener
Add a listener to be notified about device changes- Parameters:
listener
- The listener to add
-
removeOnDevicesChangedListener
public void removeOnDevicesChangedListener(@NonNull DeviceDiscovery.OnDevicesChangedListener listener) Removes a previously added device change listener- Parameters:
listener
- The listener to remove
-
finalize
-
release
public void release()Release the resources associated with this device discovery session.- Specified by:
release
in interfaceReleasable
-
listLocalDevices
List available devices for use without attaching to either Stage or Broadcast session.- Returns:
- a list of
Device
s representing attached devices such as cameras, microphones, and screen recording sessions. Note that if theManifest.permission.CAMERA
permission is not granted, no cameras will be returned. Similarly if theManifest.permission.RECORD_AUDIO
permission is not granted, no microphones will be returned.
-
createImageInputSource
Create an image input for a custom source. This should only be used if you intend to generate and feed image data to the SDK manually.- Returns:
- A
SurfaceSource
that represents as Surface and can receive your samples. - Throws:
BroadcastException
- if creating the image input source failed
-
createAudioInputSource
public CustomAudioSource createAudioInputSource(int channels, BroadcastConfiguration.AudioSampleRate sampleRate, AudioDevice.Format format) Create an audio input for a custom source. This should only be used if you intend to generate and feed pcm audio data to the SDK manually.- Parameters:
channels
- The number of audio channels.sampleRate
- The sampling rate for the PCM audio.format
- The sample format.- Returns:
- An
AudioDevice
that represents as Surface and can receive your samples. - Throws:
BroadcastException
- if the parameters are invalid
-