Sorry about the multiple emails :)

If stream an http connection, everything works ok.

...but if you need to sample the streaming, you need to add this lines
to red5-web.xml :

<bean id="rtmpSampleAccess" class="org.red5.server.stream.RtmpSampleAccess">
       <property name="audioAllowed" value="true"/>
       <property name="videoAllowed" value="true"/>
</bean>

Thank you very much!

:)

On Sun, Mar 21, 2010 at 12:34 PM, Lucas Lain <[email protected]> wrote:
> 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
>



-- 
Lucas

Reply via email to