483 lines
27 KiB
C
483 lines
27 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "eos_rtc_audio_types.h"
|
|
|
|
/**
|
|
* The RTC Audio Interface. This is used to manage Audio specific RTC features
|
|
*
|
|
* @see EOS_RTC_GetAudioInterface
|
|
*/
|
|
|
|
/**
|
|
* Use this function to push a new audio buffer to be sent to the participants of a room.
|
|
*
|
|
* This should only be used if Manual Audio Input was enabled locally for the specified room.
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @return EOS_Success if the buffer was successfully queued for sending
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_NotFound if the specified room was not found
|
|
* EOS_InvalidState if manual recording was not enabled when joining the room.
|
|
* @see EOS_RTC_JoinRoomOptions
|
|
* @see EOS_Lobby_LocalRTCOptions
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_SendAudio(EOS_HRTCAudio Handle, const EOS_RTCAudio_SendAudioOptions* Options);
|
|
|
|
/**
|
|
* Use this function to tweak outgoing audio options for a room.
|
|
*
|
|
* @note Due to internal implementation details, this function requires that you first register to any notification for room
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_NotFound if the local user is not in the room
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_UpdateSending(EOS_HRTCAudio Handle, const EOS_RTCAudio_UpdateSendingOptions* Options, void* ClientData, const EOS_RTCAudio_OnUpdateSendingCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Use this function to tweak incoming audio options for a room.
|
|
*
|
|
* @note Due to internal implementation details, this function requires that you first register to any notification for room
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_NotFound if either the local user or specified participant are not in the room
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_UpdateReceiving(EOS_HRTCAudio Handle, const EOS_RTCAudio_UpdateReceivingOptions* Options, void* ClientData, const EOS_RTCAudio_OnUpdateReceivingCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Use this function to change outgoing audio volume for a room.
|
|
*
|
|
* @note Due to internal implementation details, this function requires that you first register to any notification for room
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_NotFound if the local user is not in the room
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_UpdateSendingVolume(EOS_HRTCAudio Handle, const EOS_RTCAudio_UpdateSendingVolumeOptions* Options, void* ClientData, const EOS_RTCAudio_OnUpdateSendingVolumeCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Use this function to change incoming audio volume for a room.
|
|
*
|
|
* @note Due to internal implementation details, this function requires that you first register to any notification for room
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or on error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_NotFound if the local user is not in the room
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_UpdateReceivingVolume(EOS_HRTCAudio Handle, const EOS_RTCAudio_UpdateReceivingVolumeOptions* Options, void* ClientData, const EOS_RTCAudio_OnUpdateReceivingVolumeCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Use this function to change participant audio volume for a room.
|
|
*
|
|
* @note Due to internal implementation details, this function requires that you first register to any notification for room
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_NotFound if either the local user or specified participant are not in the room
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_UpdateParticipantVolume(EOS_HRTCAudio Handle, const EOS_RTCAudio_UpdateParticipantVolumeOptions* Options, void* ClientData, const EOS_RTCAudio_OnUpdateParticipantVolumeCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Register to receive notifications when a room participant audio status is updated (f.e when mute state changes or speaking flag changes).
|
|
*
|
|
* The notification is raised when the participant's audio status is updated. In order not to miss any participant status changes, applications need to add the notification before joining a room.
|
|
*
|
|
* If the returned NotificationId is valid, you must call EOS_RTCAudio_RemoveNotifyParticipantUpdated when you no longer wish
|
|
* to have your CompletionDelegate called.
|
|
*
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when a participant changes audio status
|
|
* @return Notification ID representing the registered callback if successful, an invalid NotificationId if not
|
|
*
|
|
* @see EOS_INVALID_NOTIFICATIONID
|
|
* @see EOS_RTCAudio_RemoveNotifyParticipantUpdated
|
|
* @see EOS_RTCAudio_ParticipantUpdatedCallbackInfo
|
|
* @see EOS_ERTCAudioStatus
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_NotificationId) EOS_RTCAudio_AddNotifyParticipantUpdated(EOS_HRTCAudio Handle, const EOS_RTCAudio_AddNotifyParticipantUpdatedOptions* Options, void* ClientData, const EOS_RTCAudio_OnParticipantUpdatedCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Unregister a previously bound notification handler from receiving participant updated notifications
|
|
*
|
|
* @param NotificationId The Notification ID representing the registered callback
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RemoveNotifyParticipantUpdated(EOS_HRTCAudio Handle, EOS_NotificationId NotificationId);
|
|
|
|
/**
|
|
* Register to receive notifications when an audio device is added or removed to the system.
|
|
*
|
|
* If the returned NotificationId is valid, you must call EOS_RTCAudio_RemoveNotifyAudioDevicesChanged when you no longer wish
|
|
* to have your CompletionDelegate called.
|
|
*
|
|
* The library will try to use user selected audio device while following these rules:
|
|
* - if none of the audio devices has been available and connected before - the library will try to use it;
|
|
* - if user selected device failed for some reason, default device will be used instead (and user selected device will be memorized);
|
|
* - if user selected a device but it was not used for some reason (and default was used instead), when devices selection is triggered we will try to use user selected device again;
|
|
* - triggers to change a device: when new audio device appears or disappears - library will try to use previously user selected;
|
|
* - if for any reason, a device cannot be used - the library will fallback to using default;
|
|
* - if a configuration of the current audio device has been changed, it will be restarted.
|
|
*
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when an audio device change occurs
|
|
* @return Notification ID representing the registered callback if successful, an invalid NotificationId if not
|
|
*
|
|
* @see EOS_INVALID_NOTIFICATIONID
|
|
* @see EOS_RTCAudio_RemoveNotifyAudioDevicesChanged
|
|
* @see EOS_RTCAudio_SetAudioInputSettingsOptions
|
|
* @see EOS_RTCAudio_SetAudioOutputSettingsOptions
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_NotificationId) EOS_RTCAudio_AddNotifyAudioDevicesChanged(EOS_HRTCAudio Handle, const EOS_RTCAudio_AddNotifyAudioDevicesChangedOptions* Options, void* ClientData, const EOS_RTCAudio_OnAudioDevicesChangedCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Unregister a previously bound notification handler from receiving audio devices notifications
|
|
*
|
|
* @param NotificationId The Notification ID representing the registered callback
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RemoveNotifyAudioDevicesChanged(EOS_HRTCAudio Handle, EOS_NotificationId NotificationId);
|
|
|
|
/**
|
|
* Register to receive notifications when audio input state changed.
|
|
*
|
|
* If the returned NotificationId is valid, you must call EOS_RTCAudio_RemoveNotifyAudioInputState when you no longer wish to
|
|
* have your CompletionDelegate called.
|
|
*
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when audio input state changes
|
|
* @return Notification ID representing the registered callback if successful, an invalid NotificationId if not
|
|
*
|
|
* @see EOS_INVALID_NOTIFICATIONID
|
|
* @see EOS_RTCAudio_RemoveNotifyAudioInputState
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_NotificationId) EOS_RTCAudio_AddNotifyAudioInputState(EOS_HRTCAudio Handle, const EOS_RTCAudio_AddNotifyAudioInputStateOptions* Options, void* ClientData, const EOS_RTCAudio_OnAudioInputStateCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Unregister a previously bound notification handler from receiving notifications on audio input state changed.
|
|
*
|
|
* @param NotificationId The Notification ID representing the registered callback
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RemoveNotifyAudioInputState(EOS_HRTCAudio Handle, EOS_NotificationId NotificationId);
|
|
|
|
/**
|
|
* Register to receive notifications when audio output state changed.
|
|
*
|
|
* If the returned NotificationId is valid, you must call EOS_RTCAudio_RemoveNotifyAudioOutputState when you no longer wish to
|
|
* have your CompletionDelegate called.
|
|
*
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when audio output state changes
|
|
* @return Notification ID representing the registered callback if successful, an invalid NotificationId if not
|
|
*
|
|
* @see EOS_INVALID_NOTIFICATIONID
|
|
* @see EOS_RTCAudio_RemoveNotifyAudioOutputState
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_NotificationId) EOS_RTCAudio_AddNotifyAudioOutputState(EOS_HRTCAudio Handle, const EOS_RTCAudio_AddNotifyAudioOutputStateOptions* Options, void* ClientData, const EOS_RTCAudio_OnAudioOutputStateCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Unregister a previously bound notification handler from receiving notifications on audio output state changed.
|
|
*
|
|
* @param NotificationId The Notification ID representing the registered callback
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RemoveNotifyAudioOutputState(EOS_HRTCAudio Handle, EOS_NotificationId NotificationId);
|
|
|
|
/**
|
|
* Register to receive notifications when local audio buffers are about to be encoded and sent.
|
|
*
|
|
* This gives you access to the audio data about to be sent, allowing for example the implementation of custom filters/effects.
|
|
*
|
|
* If the returned NotificationId is valid, you must call EOS_RTCAudio_RemoveNotifyAudioBeforeSend when you no longer wish to
|
|
* have your CompletionDelegate called.
|
|
*
|
|
* @note The CompletionDelegate may be called from a thread other than the one from which the SDK is ticking.
|
|
*
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when local audio buffers are about to be encoded and sent
|
|
* @return Notification ID representing the registered callback if successful, an invalid NotificationId if not
|
|
*
|
|
* @see EOS_INVALID_NOTIFICATIONID
|
|
* @see EOS_RTCAudio_RemoveNotifyAudioBeforeSend
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_NotificationId) EOS_RTCAudio_AddNotifyAudioBeforeSend(EOS_HRTCAudio Handle, const EOS_RTCAudio_AddNotifyAudioBeforeSendOptions* Options, void* ClientData, const EOS_RTCAudio_OnAudioBeforeSendCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Unregister a previously bound notification handler from receiving local audio buffers before they are encoded and sent.
|
|
*
|
|
* @param NotificationId The Notification ID representing the registered callback
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RemoveNotifyAudioBeforeSend(EOS_HRTCAudio Handle, EOS_NotificationId NotificationId);
|
|
|
|
/**
|
|
* Register to receive notifications with remote audio buffers before they are rendered.
|
|
*
|
|
* This gives you access to the audio data received, allowing for example the implementation of custom filters/effects.
|
|
*
|
|
* If the returned NotificationId is valid, you must call EOS_RTCAudio_RemoveNotifyAudioBeforeRender when you no longer wish to
|
|
* have your CompletionDelegate called.
|
|
*
|
|
* @note The CompletionDelegate may be called from a thread other than the one from which the SDK is ticking.
|
|
*
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when remote audio buffers are about to be rendered
|
|
* @return Notification ID representing the registered callback if successful, an invalid NotificationId if not
|
|
*
|
|
* @see EOS_INVALID_NOTIFICATIONID
|
|
* @see EOS_RTCAudio_RemoveNotifyAudioBeforeRender
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_NotificationId) EOS_RTCAudio_AddNotifyAudioBeforeRender(EOS_HRTCAudio Handle, const EOS_RTCAudio_AddNotifyAudioBeforeRenderOptions* Options, void* ClientData, const EOS_RTCAudio_OnAudioBeforeRenderCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Unregister a previously bound notification handler from receiving remote audio buffers before they are rendered.
|
|
*
|
|
* @param NotificationId The Notification ID representing the registered callback
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RemoveNotifyAudioBeforeRender(EOS_HRTCAudio Handle, EOS_NotificationId NotificationId);
|
|
|
|
/**
|
|
* Use this function to inform the audio system of a user.
|
|
*
|
|
* This function is only necessary for some platforms.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the user was successfully registered
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_UnexpectedError otherwise
|
|
*
|
|
* @see EOS_RTCAudio_UnregisterPlatformUser
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_RegisterPlatformUser(EOS_HRTCAudio Handle, const EOS_RTCAudio_RegisterPlatformUserOptions* Options, void* ClientData, const EOS_RTCAudio_OnRegisterPlatformUserCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Use this function to remove a user that was added with EOS_RTCAudio_RegisterPlatformUser.
|
|
*
|
|
* This function is only necessary for some platforms.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the user was successfully unregistered
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
* EOS_UnexpectedError otherwise
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_UnregisterPlatformUser(EOS_HRTCAudio Handle, const EOS_RTCAudio_UnregisterPlatformUserOptions* Options, void* ClientData, const EOS_RTCAudio_OnUnregisterPlatformUserCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Query for a list of audio input devices available in the system together with their specifications.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_QueryInputDevicesInformation(EOS_HRTCAudio Handle, const EOS_RTCAudio_QueryInputDevicesInformationOptions* Options, void* ClientData, const EOS_RTCAudio_OnQueryInputDevicesInformationCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Fetch the number of audio input devices available in the system that are cached locally.
|
|
*
|
|
* The returned value should not be cached and should instead be used immediately with
|
|
* the EOS_RTCAudio_CopyInputDeviceInformationByIndex function.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @return The number of audio input devices available in the system or 0 if there is an error
|
|
*
|
|
* @see EOS_RTCAudio_CopyInputDeviceInformationByIndex
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(uint32_t) EOS_RTCAudio_GetInputDevicesCount(EOS_HRTCAudio Handle, const EOS_RTCAudio_GetInputDevicesCountOptions* Options);
|
|
|
|
/**
|
|
* Fetches an audio input device's information from then given index that are cached locally.
|
|
*
|
|
* @param Options structure containing the index being accessed
|
|
* @param OutInputDeviceInformation The audio input device's information for the given index, if it exists and is valid, use EOS_RTCAudio_InputDeviceInformation_Release when finished
|
|
* @return EOS_Success if the information is available and passed out in OutInputDeviceInformation
|
|
* EOS_InvalidParameters if you pass a null pointer for the out parameter
|
|
* EOS_NotFound if the audio input device's information is not found
|
|
*
|
|
* @see EOS_RTCAudio_InputDeviceInformation_Release
|
|
* @see EOS_RTCAudio_GetAudioInputDevicesCount
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_CopyInputDeviceInformationByIndex(EOS_HRTCAudio Handle, const EOS_RTCAudio_CopyInputDeviceInformationByIndexOptions* Options, EOS_RTCAudio_InputDeviceInformation ** OutInputDeviceInformation);
|
|
|
|
/**
|
|
* Query for a list of audio output devices available in the system together with their specifications.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the operation succeeded
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_QueryOutputDevicesInformation(EOS_HRTCAudio Handle, const EOS_RTCAudio_QueryOutputDevicesInformationOptions* Options, void* ClientData, const EOS_RTCAudio_OnQueryOutputDevicesInformationCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Fetch the number of audio output devices available in the system that are cached locally.
|
|
*
|
|
* The returned value should not be cached and should instead be used immediately with
|
|
* the EOS_RTCAudio_CopyOutputDeviceInformationByIndex function.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @return The number of audio output devices available in the system or 0 if there is an error
|
|
*
|
|
* @see EOS_RTCAudio_CopyOutputDeviceInformationByIndex
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(uint32_t) EOS_RTCAudio_GetOutputDevicesCount(EOS_HRTCAudio Handle, const EOS_RTCAudio_GetOutputDevicesCountOptions* Options);
|
|
|
|
/**
|
|
* Fetches an audio output device's information from then given index that are cached locally.
|
|
*
|
|
* @param Options structure containing the index being accessed
|
|
* @param OutOutputDeviceInformation The audio output device's information for the given index, if it exists and is valid, use EOS_RTCAudio_OutputDeviceInformation_Release when finished
|
|
* @return EOS_Success if the information is available and passed out in OutOutputDeviceInformation
|
|
* EOS_InvalidParameters if you pass a null pointer for the out parameter
|
|
* EOS_NotFound if the audio output device's information is not found
|
|
*
|
|
* @see EOS_RTCAudio_OutputDeviceInformation_Release
|
|
* @see EOS_RTCAudio_GetAudioOutputDevicesCount
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_CopyOutputDeviceInformationByIndex(EOS_HRTCAudio Handle, const EOS_RTCAudio_CopyOutputDeviceInformationByIndexOptions* Options, EOS_RTCAudio_OutputDeviceInformation ** OutOutputDeviceInformation);
|
|
|
|
/**
|
|
* Use this function to set audio input device settings, such as the active input device, or platform AEC.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the setting was successful
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_SetInputDeviceSettings(EOS_HRTCAudio Handle, const EOS_RTCAudio_SetInputDeviceSettingsOptions* Options, void* ClientData, const EOS_RTCAudio_OnSetInputDeviceSettingsCallback CompletionDelegate);
|
|
|
|
/**
|
|
* Use this function to set audio output device settings, such as the active output device.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @param ClientData Arbitrary data that is passed back in the CompletionDelegate
|
|
* @param CompletionDelegate The callback to be fired when the operation completes, either successfully or in error
|
|
* @return EOS_Success if the setting was successful
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
*/
|
|
EOS_DECLARE_FUNC(void) EOS_RTCAudio_SetOutputDeviceSettings(EOS_HRTCAudio Handle, const EOS_RTCAudio_SetOutputDeviceSettingsOptions* Options, void* ClientData, const EOS_RTCAudio_OnSetOutputDeviceSettingsCallback CompletionDelegate);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_RegisterPlatformUser instead.
|
|
*
|
|
* Use this function to inform the audio system of a user.
|
|
*
|
|
* This function is only necessary for some platforms.
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @return EOS_Success if the user was successfully registered, EOS_UnexpectedError otherwise.
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_RegisterPlatformAudioUser(EOS_HRTCAudio Handle, const EOS_RTCAudio_RegisterPlatformAudioUserOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_UnregisterPlatformUser instead.
|
|
*
|
|
* Use this function to remove a user that was added with EOS_RTCAudio_RegisterPlatformAudioUser.
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @return EOS_Success if the user was successfully unregistered, EOS_UnexpectedError otherwise.
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_UnregisterPlatformAudioUser(EOS_HRTCAudio Handle, const EOS_RTCAudio_UnregisterPlatformAudioUserOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_QueryInputDevicesInformation, EOS_RTCAudio_GetInputDevicesCount instead.
|
|
*
|
|
* Returns the number of audio input devices available in the system.
|
|
*
|
|
* The returned value should not be cached and should instead be used immediately with the EOS_RTCAudio_GetAudioInputDeviceByIndex
|
|
* function.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @return The number of audio input devices
|
|
* @see EOS_RTCAudio_GetAudioInputDeviceByIndex
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(uint32_t) EOS_RTCAudio_GetAudioInputDevicesCount(EOS_HRTCAudio Handle, const EOS_RTCAudio_GetAudioInputDevicesCountOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_QueryInputDevicesInformation, EOS_RTCAudio_CopyInputDeviceInformationByIndex instead.
|
|
*
|
|
* Fetches an audio input device's info from then given index. The returned value should not be cached and important
|
|
* information should be copied off of the result object immediately.
|
|
*
|
|
* @param Options structure containing the index being accessed
|
|
* @return A pointer to the device information, or NULL on error. You should NOT keep hold of this pointer.
|
|
* @see EOS_RTCAudio_GetAudioInputDevicesCount
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(const EOS_RTCAudio_AudioInputDeviceInfo *) EOS_RTCAudio_GetAudioInputDeviceByIndex(EOS_HRTCAudio Handle, const EOS_RTCAudio_GetAudioInputDeviceByIndexOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_QueryOutputDevicesInformation, EOS_RTCAudio_GetOutputDevicesCount instead.
|
|
*
|
|
* Returns the number of audio output devices available in the system.
|
|
*
|
|
* The returned value should not be cached and should instead be used immediately with the EOS_RTCAudio_GetAudioOutputDeviceByIndex
|
|
* function.
|
|
*
|
|
* @param Options structure containing the parameters for the operation
|
|
* @return The number of audio output devices
|
|
* @see EOS_RTCAudio_GetAudioOutputDeviceByIndex
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(uint32_t) EOS_RTCAudio_GetAudioOutputDevicesCount(EOS_HRTCAudio Handle, const EOS_RTCAudio_GetAudioOutputDevicesCountOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_QueryOutputDevicesInformation, EOS_RTCAudio_CopyOutputDeviceInformationByIndex instead.
|
|
*
|
|
* Fetches an audio output device's info from then given index.
|
|
*
|
|
* The returned value should not be cached and important information should be copied off of the result object immediately.
|
|
*
|
|
* @param Options structure containing the index being accessed
|
|
* @return A pointer to the device information, or NULL on error. You should NOT keep hold of this pointer.
|
|
* @see EOS_RTCAudio_GetAudioOutputDevicesCount
|
|
* @see EOS_RTCAudio_AddNotifyAudioDevicesChanged
|
|
*/
|
|
EOS_DECLARE_FUNC(const EOS_RTCAudio_AudioOutputDeviceInfo *) EOS_RTCAudio_GetAudioOutputDeviceByIndex(EOS_HRTCAudio Handle, const EOS_RTCAudio_GetAudioOutputDeviceByIndexOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_SetInputDeviceSettings instead.
|
|
*
|
|
* Use this function to set audio input settings, such as the active input device, volume, or platform AEC.
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @return EOS_Success if the setting was successful
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_SetAudioInputSettings(EOS_HRTCAudio Handle, const EOS_RTCAudio_SetAudioInputSettingsOptions* Options);
|
|
|
|
/**
|
|
* DEPRECATED! Use EOS_RTCAudio_SetOutputDeviceSettings instead.
|
|
*
|
|
* Use this function to set audio output settings, such as the active output device or volume.
|
|
*
|
|
* @param Options structure containing the parameters for the operation.
|
|
* @return EOS_Success if the setting was successful
|
|
* EOS_InvalidParameters if any of the parameters are incorrect
|
|
*/
|
|
EOS_DECLARE_FUNC(EOS_EResult) EOS_RTCAudio_SetAudioOutputSettings(EOS_HRTCAudio Handle, const EOS_RTCAudio_SetAudioOutputSettingsOptions* Options);
|