'Twas brillig, and Jonas Finnemann Jensen at 27/01/09 11:18 did gyre and gimble: > Hi, > > I don't know if this is the right list to post this question, if not I'm > very sorry and feel free to ignore me :) > (I think maybe this should have gone to PortAudio list, but it's down > for the moment). > > I'm doing a free platform independent application in C# using mono... > Now I wish to do audio playback, so far I've found some C# bindings for > PortAudio, and as far as I can see it should be easy to include and > distribute PortAudio in a windows release... > > However, I'm running Ubuntu 8.10, and when playing music with PortAudio > other applications can't play anything... I think this is because > PortAudio uses ALSA directly... This shouldn't be a problem as alsa can be directed to pulseaudio. I'm going to hazard a guess and say that Ubuntu probably hasn't included Kevin Kofler's patches in their portaudio package that makes it play nice with the alsa->pulse plugin? You should look in the Fedora or Mandriva portaudio packages for this patch. I'm not sure if it's gone upstream. http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/portaudio/current/SOURCES/portaudio-19-alsa_pulse.patch?revision=313993&view=markup With this patch applied, you app should work nicely with the following pipeline: App -> PortAudio -> Alsa -> Pulse -> Sound H/W -> Ears -> Brain > I'd admit that I don't know much about audio playback and sound > architecture... But should I be using PulseAudio instead of PortAudio, > or should I use some specific backend in PortAudio, or a specific > setting for ALSA when using it from PortAudio? > > What is the most portable and easy way to audio playback, from the > applications developers perspective? > And how do I avoid blocking other applications from playing sounds? Lennart wrote a nice article about Audio APIs recently: http://0pointer.de/blog/projects/guide-to-sound-apis.html May make for some nice reading :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]