Determining the length of a file using aRts
jasonwood at blueyonder.co.uk
Mon Sep 16 05:44:58 BST 2002
On Monday 16 Sep 2002 4:37 am, Charles Samuels wrote:
> Sunday 15 September 2002 08:23 pm, skrev Jason Wood:
> > On Monday 16 Sep 2002 3:47 am, Charles Samuels wrote:
> > > Sunday 15 September 2002 07:43 pm, skrev Jason Wood:
> > > > The only method I have using aRts at present is to open a play
> > > > object, wait for it to start playing, test it in various ways to
> > > > discover when the overallTime() function is returning a valid value,
> > > > and then to stop and close the playobject again. This is not a method
> > > > I can use in my application.
> > >
> > > You don't need to wait for it to start playing. Just until after you
> > > open it.
> > Sorry, I should clarify that where I said open, I meant that I create a
> > Play object (in particular, a KPlayObject, though I don't think that is
> > important in this case).
> > Is there a difference between opening a PlayObject and playing one? In
> > other words, is there some method equivalent of a PlayObject->prepare(),
> > or a PlayObject->open() (having checked the docs I can't see anything
> > obvious)
> > If I try to read the overallTime() of the PlayObject without playing it
> > first (i.e. I have just created it), it always comes back with a duration
> > of 0.
> > If I try to play it first, it seems to take a couple of seconds to "warm
> > up". I have to wait until the overallTime() changes to non-zero by
> > repeatedly testing it.
> That sounds like a bug in mpeglib. Something you should fix :)
The same problem occurs with ogg files, so I'm not convinced this is an
mpeglib specific problem. (I assume mpeglib is used for mp3's only...???)
However, I have now checked the above with wav files and they do show the
expected behaviour, so at least I know the API is already in place!
Homepage : www.uchian.pwp.blueyonder.co.uk
More information about the kde-multimedia