NCAudioController.h 1.0 KB

123456789101112131415161718192021222324252627282930
  1. /**
  2. * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
  3. * SPDX-License-Identifier: GPL-3.0-or-later
  4. */
  5. #import <Foundation/Foundation.h>
  6. #import <WebRTC/RTCAudioSession.h>
  7. #import <WebRTC/RTCAudioSessionConfiguration.h>
  8. extern NSString * const AudioSessionDidChangeRouteNotification;
  9. extern NSString * const AudioSessionWasActivatedByProviderNotification;
  10. extern NSString * const AudioSessionDidChangeRoutingInformationNotification;
  11. @interface NCAudioController : NSObject <RTCAudioSessionDelegate>
  12. @property (nonatomic, strong) RTCAudioSession *rtcAudioSession;
  13. @property (nonatomic, assign) BOOL isSpeakerActive;
  14. @property (nonatomic, assign) NSInteger numberOfAvailableInputs;
  15. + (instancetype)sharedInstance;
  16. - (void)setAudioSessionToVoiceChatMode;
  17. - (void)setAudioSessionToVideoChatMode;
  18. - (void)disableAudioSession;
  19. - (void)providerDidActivateAudioSession:(AVAudioSession *)audioSession;
  20. - (void)providerDidDeactivateAudioSession:(AVAudioSession *)audioSession;
  21. - (BOOL)isAudioRouteChangeable;
  22. @end