Hi!

    It never worked, it is just that it never worked.

Wyatt Olson 
To: pygame-users@seul.org 


This appears to get the total number of channels, not the number of active 
channels.  However, I tried using get_busy(), but it still does not seem to 
work.

See the following modifications to my original code:

import pygame, time

for x in range(10):
    print("Starting iteration " + str(x))
    print("Initializing mixer")
    pygame.mixer.init()

    print("Loading sound")
    sound = pygame.mixer.Sound("foo.wav")
    print("Finding free channel")
    channel = pygame.mixer.find_channel()
    
    print("Channel object: " + str(channel))
    
    print("Setting volume")
    channel.set_volume(0.7)
    
    print("Playing sound")
    channel.play(sound)
    
    print("Sleeping until sound is finished playing...")
    while pygame.mixer.get_busy():
        time.sleep(1)

    print("Quitting mixer\n\n")
    pygame.mixer.quit()



This displays the same behaviour.

In response to a previous comment about using channel.stop() before quitting 
the mixer: this does not work either, as can be seen by adding channel.stop() 
after the get_busy loop above.


Has anyone tried running this code themselves?  I am wondering if I am 
experiencing some obscure bug, possibly platform specific.  I am running on OS 
X, but don't have access to other systems for troubleshooting.  If someone else 
has access to a Windows or Linux box, and is able to prove if this fails on 
those systems as well, that may be useful.

Cheers

Ian Mallett wrote: 
  On 7/2/08, Wyatt Olson <[EMAIL PROTECTED]> wrote: 
    Is there anything which can return a list of all currently active channels?
  pygame.mixer.get_num_channels()
  This returns 0 if none are playing and > 0 if there are.


Reply via email to