Ok so I'm experimenting with making my own mp3 player in director - a little
deeper mp3 player than I've done before, on par with audion/soundjam....just
as an experiment. Here's what I've learned, with a few questions.

You can 2 ways for this - if you're doing netoperations of course you want
to go with streaming swa, the url set to the mp3 you wish to stream. Then
it's really commanding the audio on the member level, ie
member("swa").play().  Once the stream has buffered enough to get the idtags
(the first 128 bytes at the beginning I believe), then it's simply put
member("swa").id3tags, which works great. This would give you a great player
to add queues of audio (going to test with a Live365 stream, although I
believe they don't send the id tags in the stream, as there's never the
'first 128 bytes' sort of)...but there'd be no way of jumping to the middle
of the stream like you could with a quicktime movie via the controller
thumb.

So, if you wanted to do it from the harddisk allowing users to pick and
choose they're playlist (why I was asking about drag and drop from the
desktop), you could either a) follow the example above, build up a list (not
to queue to a sound channel) and merely keep track of what audio file you're
on in the list, change the member("swa").streamname to the next one in the
list once finished with the previous one and you're set - still got your
id3tags.

But you're losing stuff like pan property and the ability to scrub to the
middle of your track (although I believe 8.5 adds the member.volume call,
which is nice for setting the volume with the way I described handling the
audio above).

The only way you can scrub/pan audio is with a sound object, so now we've
got to figure out what we're doing with the above to get it to play not on
the member level but as a sound object...or a sound sprite.

Taking the same steps as above, adding a member("swa").soundchannel=1 before
we initiate the stream with member("swa").play() lets you know control the
pan and volume at the sound level and still get the id3 tags....but the
audio is still streaming so you can do the thumb scrub idea.

The only way it seems I could do that is by forsaking the member streaming
and going purely as an imported sound, as going the other route, that is
taking the member("swa").streamname=localfile and then sound(1).queue(member
"music") won't work at all.

So the next step: importfileinto member("swa"), mp3filepath.  Now I can do
whatever I want with this sound, ie queue it, do scrubbing by pausing and
then playing from the scrub point...everything EXCEPT get the id3tags!!!
Even though the id3tags is listed as a sound member property, these tags
aren't seen if the sound file is playing internally and not streaming,
correct??


[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo.  Thanks!]

Reply via email to