Does the policy file have to do something with this problem?

http://www.red5.org/ticket/636

(I'm using red5)

On Sun, Mar 21, 2010 at 11:50 AM, Lucas Lain <[email protected]> wrote:
> Does anyone make  SoundMixer.computeSpectrum() function to work?
>
> L.
>
>
> On Sun, Mar 21, 2010 at 10:48 AM, Lucas Lain <[email protected]> wrote:
>> Thank you Henry.
>>
>> It didn't work. I'm still getting the security error :(
>>
>> I'm trying to play a streaming resource ... but it has nothing to do
>> with mi problem ... right?
>>
>>
>>
>> On Sun, Mar 21, 2010 at 10:16 AM, Henry Minsky <[email protected]> 
>> wrote:
>>> I am trying to recall if anything in the Laszlo runtime library loads sound
>>> from an external source when the
>>> LFC is initialized, but I don't think
>>> so.
>>>
>>>
>>>
>>> On Sun, Mar 21, 2010 at 9:08 AM, Lucas Lain <[email protected]> wrote:
>>>>
>>>> I can see the red line now! :)
>>>> The security error shows up when computeSpectrum is called.
>>>> I found this:
>>>>
>>>> "the Error #2121 happens when you try to call the computeSpectrum
>>>> function when another flash file with sound is loaded from a different
>>>> domain.
>>>> For example, if you have youtube open when trying to view a flash file
>>>> that uses computeSpectrum, it will fail because youtube did not grant
>>>> your domain access to get its sound info....
>>>> It appears the only "solution" is to put your computeSpectrum in a
>>>> try/catch block (or use areSoundsInaccessable method before calling
>>>> computeSpectrum ) and simply notify the user that a flash file in a
>>>> different window is interfering with your sound visualizations!"
>>>>
>>>> But I'm not using flash in any window :(
>>>>
>>>>
>>>> On Sun, Mar 21, 2010 at 9:46 AM, Henry Minsky <[email protected]>
>>>> wrote:
>>>> > I tried to compile and run your example, as follows, and it ran without
>>>> > error for me. It displayed a red line
>>>> >
>>>> > <canvas>
>>>> > <class name="spectrum" extends="view">
>>>> >     <passthrough>
>>>> >         import flash.display.Sprite;
>>>> >         import flash.display.StageAlign;
>>>> >         import flash.display.StageScaleMode;
>>>> >         import flash.events.*;
>>>> >         import flash.media.Sound;
>>>> >         import flash.media.SoundChannel;
>>>> >         import flash.media.SoundMixer;
>>>> >         import flash.media.SoundTransform;
>>>> >         import flash.net.URLRequest;
>>>> >         import flash.utils.Timer;
>>>> >         import flash.geom.Matrix;
>>>> >         import flash.utils.ByteArray;
>>>> >         import flash.text.TextField;
>>>> >         import flash.text.TextFieldAutoSize;
>>>> >         import flash.text.TextFormat;
>>>> >     </passthrough>
>>>> >
>>>> >     <attribute name="_ba" value="null"/>
>>>> >     <attribute name="_gr" value="null"/>
>>>> >     <method name="init"><![CDATA[
>>>> >         this._ba = new ByteArray();
>>>> >         this._gr = new Sprite();
>>>> >         this._gr.x = 20;
>>>> >         this._gr.y = 200;
>>>> >
>>>> >         canvas.sprite.addChild(this._gr);
>>>> >
>>>> >         var time:Timer = new Timer(50);
>>>> >
>>>> >         time.addEventListener(TimerEvent.TIMER, timerHandler);
>>>> >         time.start();
>>>> >     ]]>
>>>> >     </method>
>>>> >
>>>> >     <method name="timerHandler" args="e:Event"><![CDATA[
>>>> >
>>>> >         var ba:ByteArray = this._ba;
>>>> >         var gr:Sprite = this._gr;
>>>> >
>>>> >         SoundMixer.computeSpectrum(ba, true);
>>>> >         var i:int;
>>>> >         gr.graphics.clear();
>>>> >         gr.graphics.lineStyle(0, 0xFF0000);
>>>> >         gr.graphics.beginFill(0xFF0000);
>>>> >         gr.graphics.moveTo(0, 0);
>>>> >         var w:int = 2;
>>>> >         for (i=0; i<512; i+=w) {
>>>> >             var t:Number = ba.readFloat();
>>>> >             var n:Number = (t * 100);
>>>> >             gr.graphics.drawRect(i, 0, w, -n);
>>>> >         }
>>>> >     ]]>
>>>> >     </method>
>>>> > </class>
>>>> > <spectrum/>
>>>> >
>>>> > </canvas>
>>>> >
>>>> > Do you have the Flash player installed?
>>>> > Try running either in backtrace mode or without debugging enabled, and
>>>> > see
>>>> > if you can
>>>> > get more information about where the errors is coming from. In backtrace
>>>> > mode, you can click on the error to inspect it. In non-debug mode, the
>>>> > Flash
>>>> > debug player will give you a native Flash backtrace.
>>>> >
>>>> >
>>>> > On Sun, Mar 21, 2010 at 8:38 AM, Lucas Lain <[email protected]>
>>>> > wrote:
>>>> >>
>>>> >> Hello Henry,
>>>> >>
>>>> >> Thank you for your answer. I modified the code and I can compile now.
>>>> >>
>>>> >> But I can't see the sprite, and I'm getting a runtime error:
>>>> >>
>>>> >> ERROR @spectrum.lzx≈46: SecurityError: Error #2123
>>>> >>
>>>> >> Any Ideas? Could you use this class?
>>>> >>
>>>> >> Best!
>>>> >>
>>>> >> L.
>>>> >>
>>>> >>
>>>> >> On Sun, Mar 21, 2010 at 1:47 AM, Henry Minsky <[email protected]>
>>>> >> wrote:
>>>> >> > Also you will need an extra arg to your handler method
>>>> >> >
>>>> >> >     <method name="timerHandler" args="e:Event">
>>>> >> >
>>>> >> > Because the contract for a AS3 event listener is that it needs to
>>>> >> > accept
>>>> >> > one
>>>> >> > argument.
>>>> >> >
>>>> >> > "This function must accept an Event object as its only parameter and
>>>> >> > must
>>>> >> > return nothing"
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > On Sat, Mar 20, 2010 at 11:39 PM, Henry Minsky
>>>> >> > <[email protected]>
>>>> >> > wrote:
>>>> >> >>
>>>> >> >> To get the sprite, just "canvas.sprite" ought to work, although the
>>>> >> >> cross
>>>> >> >> platform API to get the sprite is canvas.getDisplayObject()
>>>> >> >>
>>>> >> >>
>>>> >> >>
>>>> >> >> On Sat, Mar 20, 2010 at 5:21 PM, Lucas Lain <[email protected]>
>>>> >> >> wrote:
>>>> >> >>>
>>>> >> >>> Hello everybody,
>>>> >> >>>
>>>> >> >>> does anyone know how to add a sprite to an openlaszlo canvas or
>>>> >> >>> view?
>>>> >> >>>
>>>> >> >>> I wrote/modified the attached class to visualize the sound
>>>> >> >>> spectrum.
>>>> >> >>>
>>>> >> >>> This line is the one supposed to do the trick:
>>>> >> >>>
>>>> >> >>>        canvas.content.sprite.addChild(this._gr);
>>>> >> >>>
>>>> >> >>>
>>>> >> >>> Best!
>>>> >> >>>
>>>> >> >>>
>>>> >> >>> --
>>>> >> >>> Lucas
>>>> >> >>
>>>> >> >>
>>>> >> >>
>>>> >> >> --
>>>> >> >> Henry Minsky
>>>> >> >> Software Architect
>>>> >> >> [email protected]
>>>> >> >>
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > --
>>>> >> > Henry Minsky
>>>> >> > Software Architect
>>>> >> > [email protected]
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Lucas
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Henry Minsky
>>>> > Software Architect
>>>> > [email protected]
>>>> >
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Lucas
>>>
>>>
>>>
>>> --
>>> Henry Minsky
>>> Software Architect
>>> [email protected]
>>>
>>>
>>>
>>
>>
>>
>> --
>> Lucas
>>
>
>
>
> --
> Lucas
>



-- 
Lucas

Reply via email to