File tree Expand file tree Collapse file tree
Source/SignalTracking/Units Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,8 +40,19 @@ final class InputSignalTracker: SignalTracker {
4040
4141 func start( ) throws {
4242 try session. setCategory ( AVAudioSessionCategoryPlayAndRecord)
43- try session. overrideOutputAudioPort ( AVAudioSessionPortOverride . speaker)
4443
44+ // check input type
45+ let currentRoute = session. currentRoute
46+ if currentRoute. outputs. count != 0 {
47+ for description in currentRoute. outputs {
48+ if ( description. portType != AVAudioSessionPortHeadphones) { // input from speaker if port is not headphones
49+ try session. overrideOutputAudioPort ( AVAudioSessionPortOverride . speaker)
50+ } else { // input from default (headphones)
51+ try session. overrideOutputAudioPort ( . none)
52+ }
53+ }
54+ }
55+
4556 audioEngine = AVAudioEngine ( )
4657
4758 guard let inputNode = audioEngine? . inputNode else {
You can’t perform that action at this time.
0 commit comments