core-audio

Determine which application is using audio device

一个人想着一个人 提交于 2021-02-08 04:01:21
问题 I'm currently using CoreAudio in macOS to determine if a specific audio input device is in use. I'm trying to find a little more information about what's going on with that device if it is in use, but struggling to find any information on how to do this. 1) Is it possible to find the application that is currently using a specific audio input device? 2) Is it possible to determine if an application is using an audio device (input or output) and has the device currently muted in that specific

Determine which application is using audio device

廉价感情. 提交于 2021-02-08 04:01:19
问题 I'm currently using CoreAudio in macOS to determine if a specific audio input device is in use. I'm trying to find a little more information about what's going on with that device if it is in use, but struggling to find any information on how to do this. 1) Is it possible to find the application that is currently using a specific audio input device? 2) Is it possible to determine if an application is using an audio device (input or output) and has the device currently muted in that specific

iPhone: Change playback speed with Audio Units

邮差的信 提交于 2021-02-05 13:01:53
问题 What are the different ways to change the playback speed of audio on the iPhone, when using Audio Units ? What are the advantages / disadvantages of each solution? I have a mixer unit and an IO unit. Do I need to add another unit (eg. converter unit)? What audio unit parameters should I set, on which (input or output) bus on which audio unit(s)? My current setup: ------------------------- ------------------------- | mixer unit | -----------> | IO unit | ------------------------- -------------

Varispeed Unit with AuGraph [iOS Swift]

。_饼干妹妹 提交于 2021-01-29 14:48:30
问题 We are trying to connect varispeed unit with output unit using AUGraph. This is our current code: var graph: AUGraph? var varispeedNode: AUNode = 0 var varispeedUnit: AudioUnit? var outputNode: AUNode = 0 var outputUnit: AudioUnit? init(_ client: UDPClient, _ tcpClient: TCPClient, _ opusHelper: OpusHelper, _ tvTemp: UILabel) { super.init() let success = initCircularBuffer(&circularBuffer, 4096) if success { print("Circular buffer init was successful") } else { print("Circular buffer init not

How to exclude input or output channels from an aggregate CoreAudio device?

删除回忆录丶 提交于 2021-01-27 19:52:16
问题 I've got a CoreAudio-based MacOS/X program that allows the user to select an input-audio-device and an output-audio-device, and (if the user didn't choose the same device for both input and output) my program creates a private aggregate-audio-device and uses that to receive audio the audio, process it, and then send it out for playback. That's all working great, but there is one minor problem -- if the selected input-device also has some outputs associated with its hardware, those outputs

AVAudioEngine reconcile/sync input/output timestamps on macOS/iOS

本秂侑毒 提交于 2021-01-23 06:37:00
问题 I'm attempting to sync recorded audio (from an AVAudioEngine inputNode ) to an audio file that was playing during the recording process. The result should be like multitrack recording where each subsequent new track is synced with the previous tracks that were playing at the time of recording. Because sampleTime differs between the AVAudioEngine 's output and input nodes, I use hostTime to determine the offset of the original audio and the input buffers. On iOS, I would assume that I'd have

Calling MusicDeviceMIDIEvent from the audio unit's render thread

余生长醉 提交于 2020-08-26 05:55:27
问题 There's one thing I don't understand about MusicDeviceMIDIEvent . In every single example I ever seen (searched Github and Apple examples) it was always used from the main thread. Now, in order to use the sample offset parameter the documentation states: inOffsetSampleFrame: If you are scheduling the MIDI Event from the audio unit's render thread, then you can supply a sample offset that the audio unit may apply when applying that event in its next audio unit render. This allows you to