The first PlayOneShot works. The second PlayOneShot returns error “oneshot->channel”. The last Play works.
So it seems that if you instantiate an AudioClip generated from WWW, you will get a channel error if calling PlayOneShot with it. Also wanted to point out that if I use Resources.Load, PlayOneShot is able to play multiple copies of the same sound, where as if I pass it an AudioClip from WWW, it will only play one copy of the sound (i.e. subsequent plays of the same clip with new sources will restart the clip rather than play a new instance).
I’m seeing something similar after upgrading to Unity 3.4. Basically, when playing any sound effect via WWW when the sound is already being played once (so that two copies of the same effect overlap one another), it crashes with this error. AND the error can’t be caught via a try/catch block, which is the most odd bit.
This is code that worked fine from Unity 2.6 through 3.3, and which is in three of my games in the hands of 80k+ customers. Now with Unity 3.4, however, my working build crashes within a few seconds of being run.
Oh, and yes – we are having slightly different error results, but I think that the root cause is probably very similar. Something isn’t happening correctly when WWW audio clips are loaded and played using playoneshot, and so in your case that makes them non-duplicatable via instantiate, and in my case it makes it so that multiple WWWs can’t be established to the same file and used in PlayOneShot multiple times.
using Instantiate on clips generated from the WWW class returns a clone that has a length of 0. This would indicate that in 3.4 the clips are not being cloned correctly.