 <p>The combination of <code>kAudioDevicePropertyNominalSampleRate</code> and <code>kAudioObjectPropertyScopeGlobal</code> will get the callback to work correctly. The documentation of this selector (CoreAudio/AudioHardware.h) doesn't tell me what scope to use, though. If anyone finds a source of proof/reason for this, feel free to edit.</p> <p><em>The situation is also confusing because calling <code>AudioObjectSetPropertyData()</code> with <code>kAudioDevicePropertyNominalSampleRate</code> and either <code>kAudioObjectPropertyScopeInput</code> or <code>kAudioObjectPropertyScopeOutput</code> will <strong>also</strong> result in a successful sample rate switch (one could argue this to be erroneous behaviour).</em></p>