Re: Multiple output devices under CoreAudio with Quicktime
Re: Multiple output devices under CoreAudio with Quicktime
- Subject: Re: Multiple output devices under CoreAudio with Quicktime
- From: Jeff Moore <email@hidden>
- Date: Fri, 20 Jun 2003 12:26:36 -0700
The Sound Manager is stereo only and the channels it uses on a
multi-channel device is fixed to being the first two channels. If you
want to do more, you need to use an API that provides access to the
whole device like the HAL Output Audio Unit.
On Friday, June 20, 2003, at 9:13 AM, Dave Addey wrote:
Hi,
A few months ago, Jeff posted the reply below to a problem I was
having, and
it got everything working for me using multiple output devices under
OS X
via QuickTime. I found that this solution worked on all versions of
OS X
with QuickTime 6 installed - not just OS X 10.2.
However, users of my application are being demanding, and I have a
further
question...
I can now access hardware output devices, via QuickTime, using the sdev
approach mentioned below. However, if the hardware output device has
(for
example) 8 sets of stereo outputs, the corresponding sdev only points
to one
of these stereo outputs. So, I can output audio to the device, but
only
through one of its stereo outputs.
My question is this: is there a way (via this QuickTime / Sound Manager
approach) to access the multiple channels (or streams) of an output
device
under OS X? Or if not, where should I start for finding and outputting
sound to multiple channels of one device? And will this mean moving
all of
my other code away from QuickTime and SoundManager into some new
CoreAudio
world?
Sorry for the basic question, but I'm struggling to get started with
this!
Thanks in advance,
Dave.
------------------------------------
Dave Addey
email@hidden
DJ-1800
Complete DJ solution for the Mac
http://www.dj1800.com/
Support and pre-release forums:
http://dj1800.myforums.net/
On 14/4/03 7:51 pm, "Jeff Moore" <email@hidden> wrote:
You don't say what version of the system you are using, but in 10.2,
the Sound Manager was updated to create sdevs for all of the output
devices in the HAL. The catch is that you need to be sure you have
initialized the Sound Manager prior to trying to iterate through the
sdevs with FindNextComponent(). You can call something like
SndManagerStatus, to accomplish this.
On Monday, April 14, 2003, at 01:46 AM, Dave Addey wrote:
Hi,
I'm just about to start porting some Carbon Audio code to take
advantage of
CoreAudio, and I'm really struggling to get a grip on the best
approach to
take... Any help much appreciated! Questions below, after a brief
explanation:
I've written a Mac DJ application called DJ-1800 (see
http://www.dj1800.com/) using REALbasic. It allows multiple output
devices
for DJing, and emulates 4 DJ-style "CD players" for controlling MP3
playback.
I'm currently working with a QuickTime movieplayer, which contains a
movie
with 3 MP3 tracks (all identical). I'm using
MediaSetSoundOutputComponent
from the Quicktime API to assign a different output device to each
channel.
(This allows my DJ application to play a song through a master device
and a
cue device at the same time).
Via Quicktime, I'm looking for all OutputComponents of type 'sdev',
but on
OS X there are only the two - Mac OS Audio HAL, and Mac OS Audio HAL
(system) - corresponding to the system out and the system alerts out
respectively. I'm using these two to allow users to use two audio
devices
(typical their built-in device, and an iMic or similar) - one for
headphones, and one for master oputput.
This works to a point, on OS 9 and X using Quicktime. However, I
have
two
major problems:
1) Users would like to be able to use more than two devices (e.g. an
M-Audio
Delta 1010lt soundcard (with 8 outputs)) to assign four different
output
devices (one to each CD player) - not possible with the current
approach. I
believe I need to use CoreAudio to access these extra "devices" under
Mac OS
X. How can I find all available output devices under CoreAudio, and
assign
them to the tracks of a QuickTime movie?
2) Ideally, I want to be able to assign multiple output devices to
one
track
in a QT movie, rather than the clunky multi-track approach I'm having
to use
currently. Is this possible under CoreAudio?
As I say, any help much appreciated...
Thanks,
Dave.
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.