Flash Media Interactive Server/Papervision 2.0 Playlist

MP3 playlist powered by FMIS
Over Christmas I've had the opportunity to play with a few of my favourite API's, Flash Media Interactive Server, Papervision3D 2.0 et al. A lot of my experiments have been done in one class, trying to navigate my way around new tools and concepts. However this is not the way I like to work. The thought has been gnawing at my soul as to how these experiments would work if developed in a structured manner with a design pattern. What sort of problems would I face? Would there be scope issues? Would somethings just not work? To answer these questions, I developed a simple mp3 playlist which streams the songs from Flash Media Interactive Server. I have added to this a visualizer made with Papervision3D. To make it scalable and to allow me test a variety of iterations of my code I have chosen to base the application architecture on the Strategy pattern. Thus each view is a different strategy made of an MXML/AS3 control that implements a View interface. Thus to change the iteration of my display all I need do is implement a new Strategy. I do love patterns. I like the results and more the point it confirms that I can develop with these API's in the manner I prefer to work.

*An interesting point to note was the effect the wmode attribute had on publishing the swf. In some instances wmode will affect the display and performance of the swf. In this case it made all the animation respond only to Mouse actions. Removing the wmode gave me back my intended behaviours. Using these APIs though unfortunately create huge files and can be very CPU intensive so limitations have to be place on what effects can be used and so on. None the less it is gratifying.


hanzi said...

Hi aYo ii

This is quite a cool way of using papervision and I'm very happy that I found your blog. I'm learning as3 and pv3d and was wondering if you could tell me how you got to interact with the objects in your pv3d project. I've been looking everywhere for a good how to but can't find anything. It looks like a swf that you just loaded onto your 3d object...is this so?

Please I will be forever grateful if you can tell me how you did it.

My Instagram