On 23/04/15 21:16, John Bent wrote:
Thanks Ricky! But it didn't work. I added the gc.collect() and I thought maybe it did more work before failing but it still ultimately failed. Oh, well, I'm checking a finite number of mp3's only so I can live with this bug.

On Thu, Apr 23, 2015 at 2:10 PM, Ricky Ng <[email protected] <mailto:[email protected]>> wrote:

    The spec here:
    http://pyglet.org/doc-current/api/pyglet/pyglet.media.html

    Says you can force a garbage collection. Your problem may be that you
    have too many players at the same time (I honestly have never had this
    problem ), so maybe cleaning them up will work.

    On Thu, Apr 23, 2015 at 3:07 PM, John Bent <[email protected]
    <mailto:[email protected]>> wrote:
    > If I completely quit the program and rerun it, it works again
    for about
    > another 10.  But I'd rather not do this because the program does
    some other
    > slow initialization work and I'd rather not wait every time for
    that.
    >
    > So isn't there some way I can effectively "quit" the pyglet
    stuff and rerun
    > it within the python program that would have the same effect as
    fulling
    > quitting the entire python program?
    >
    > On Thu, Apr 23, 2015 at 10:17 AM, John Bent <[email protected]
    <mailto:[email protected]>> wrote:
    >>
    >> Thanks Adam for the suggestion.  Unfortunately the problem is
    the same
    >> with wavs that I created by converting the mp3s into wavs with
    sox.  Here's
    >> what the wavs look like:
    >>
    >> Input File     : '426.wav'
    >>
    >> Channels       : 1
    >>
    >> Sample Rate    : 22050
    >>
    >> Precision      : 16-bit
    >>
    >> Duration       : 00:00:02.51 = 55296 samples ~ 188.082 CDDA sectors
    >>
    >> File Size      : 111k
    >>
    >> Bit Rate       : 353k
    >>
    >> Sample Encoding: 16-bit Signed Integer PCM
    >>
    >>
    >> On Wednesday, April 22, 2015 at 4:31:45 PM UTC-6, Adam wrote:
    >>>
    >>> On 22/04/15 22:08, John Bent wrote:
    >>>
    >>> I have a large number of small mp3 files that I need to check
    >>> individually. In a python foreach file loop, I'm calling this
    function which
    >>> uses pyglet:
    >>>
    >>> def play(player,src):
    >>>
    >>>   try:     #music = pyglet.resource.media(src)     music =
    >>> pyglet.media.load(src, streaming=False)  music.play()     ans =
    >>> raw_input("\tWas this sound good (r to replay, q to quit)?
    [y|n|r|q]: ")
    >>> if (ans == 'r'):       return play(player,src)     if (ans ==
    'q'):
    >>> sys.exit(0)     else:       success = (ans == 'y')   except
    >>> pyglet.media.avbin.AVbinException, e:  print "Exception
    playing file.
    >>> Assuming bad."     success = 0     print "%s -> %d" % ( src,
    success )
    >>> return success
    >>>
    >>> It works great for about 10 files but then it just stops
    working without
    >>> any error indication that I'm noticing. It acts like it is
    playing the
    >>> sounds but there is just silence. Is there some resource I
    should be
    >>> unloading or deallocating or something? I'm on OS X and
    initially had to
    >>> install AVBin to get pyglet to work at all.
    >>>
    >>> Thanks!
    >>>
    >>> Hmm, do you get the same problem with uncompressed audio, i.e.
    can you
    >>> test with some wavs please?
    >>
    >> --

At the risk of grasping at straws, what if you instantiate your own player and add your sources to that rather than using the implicit creation in .play()?

--
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to