11 #import <AVFoundation/AVFoundation.h> 12 #import <Foundation/Foundation.h> 14 NS_ASSUME_NONNULL_BEGIN
24 @protocol RTCAudioSessionDelegate <NSObject>
31 shouldResumeSession:(BOOL)shouldResumeSession;
35 reason:(AVAudioSessionRouteChangeReason)reason
36 previousRoute:(AVAudioSessionRouteDescription *)previousRoute;
39 - (void)rtcaudioSessionMediaServicesWereLost:(
RTCAudioSession *)session;
42 - (void)rtcaudioSessionMediaServicesWereReset:(
RTCAudioSession *)session;
62 @property(nonatomic, readonly) AVAudioSession *session;
74 @property(readonly) NSString *
mode;
84 @property(readonly, nullable)
88 @property(readonly, nullable)
105 - (void)addDelegate:(
id<RTCAudioSessionDelegate>)delegate;
107 - (void)removeDelegate:(
id<RTCAudioSessionDelegate>)delegate;
123 - (BOOL)setActive:(BOOL)active
124 error:(NSError **)outError;
125 - (BOOL)setActive:(BOOL)active
126 withOptions:(AVAudioSessionSetActiveOptions)options
127 error:(NSError **)outError;
133 - (BOOL)setCategory:(NSString *)category
134 withOptions:(AVAudioSessionCategoryOptions)options
135 error:(NSError **)outError;
136 - (BOOL)setMode:(NSString *)mode error:(NSError **)outError;
137 - (BOOL)setInputGain:(
float)gain error:(NSError **)outError;
138 - (BOOL)setPreferredSampleRate:(
double)sampleRate error:(NSError **)outError;
139 - (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration
140 error:(NSError **)outError;
141 - (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count
142 error:(NSError **)outError;
143 - (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count
144 error:(NSError **)outError;
145 - (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride
146 error:(NSError **)outError;
147 - (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort
148 error:(NSError **)outError;
149 - (BOOL)setInputDataSource:(AVAudioSessionDataSourceDescription *)dataSource
150 error:(NSError **)outError;
151 - (BOOL)setOutputDataSource:(AVAudioSessionDataSourceDescription *)dataSource
152 error:(NSError **)outError;
156 NS_ASSUME_NONNULL_END
float inputGain
Definition: RTCAudioSession.h:79
double sampleRate
Definition: RTCAudioSession.h:90
NS_ASSUME_NONNULL_BEGIN NSString *const kRTCAudioSessionErrorDomain
NSArray * inputDataSources
Definition: RTCAudioSession.h:82
BOOL inputGainSettable
Definition: RTCAudioSession.h:80
NSInteger maximumInputNumberOfChannels
Definition: RTCAudioSession.h:77
NSInteger const kRTCAudioSessionErrorLockRequired
NSInteger maximumOutputNumberOfChannels
Definition: RTCAudioSession.h:78
NSString * mode
Definition: RTCAudioSession.h:74
AVAudioSessionDataSourceDescription * inputDataSource
NSArray<AVAudioSessionDataSourceDescription *> * inputDataSources;
Definition: RTCAudioSession.h:85
float outputVolume
Definition: RTCAudioSession.h:93
AVAudioSessionDataSourceDescription * outputDataSource
NSArray<AVAudioSessionDataSourceDescription *> * outputDataSources;
Definition: RTCAudioSession.h:89
NSInteger inputNumberOfChannels
Definition: RTCAudioSession.h:91
instancetype sharedInstance()
Default constructor.
void lockForConfiguration()
Request exclusive access to the audio session for configuration.
NSString * category
Definition: RTCAudioSession.h:72
void unlockForConfiguration()
Relinquishes exclusive access to the audio session.
BOOL secondaryAudioShouldBeSilencedHint
Definition: RTCAudioSession.h:75
NSInteger outputNumberOfChannels
Definition: RTCAudioSession.h:92
AVAudioSessionCategoryOptions categoryOptions
Definition: RTCAudioSession.h:73
NSTimeInterval outputLatency
Definition: RTCAudioSession.h:95
NSArray * outputDataSources
Definition: RTCAudioSession.h:86
NSTimeInterval inputLatency
Definition: RTCAudioSession.h:94
BOOL isActive
Our best guess at whether the session is active based on results of calls to AVAudioSession.
Definition: RTCAudioSession.h:67
AVAudioSessionRouteDescription * currentRoute
Definition: RTCAudioSession.h:76
BOOL inputAvailable
Definition: RTCAudioSession.h:81
Proxy class for AVAudioSession that adds a locking mechanism similar to AVCaptureDevice.
Definition: RTCAudioSession.h:56
NSTimeInterval IOBufferDuration
Definition: RTCAudioSession.h:96
BOOL isLocked
Whether RTCAudioSession is currently locked for configuration.
Definition: RTCAudioSession.h:69