Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   регулировка громкости (http://www.flasher.ru/forum/showthread.php?t=95610)

atmel 09.05.2007 17:49

регулировка громкости
 
подскажите почему не работает регулировка громкости

Код:

<mx:Script>
        <![CDATA[
       
            import flash.media.*;
       
            [Embed(source="music/sample.mp3")]
            [Bindable]
            public var sndCls:Class;
           
            public var snd:Sound = new sndCls() as Sound;
            public var sndChannel:SoundChannel;
           
            public function playSound():void
            {
                sndChannel=snd.play();
            }
           
            public function volumeSound():void
            {
                sndChannel.soundTransform.volume = hsl_volume.value;
            } 
           
            public function stopSound():void
            {                   
                sndChannel.stop();
            } 
        ]]>
    </mx:Script>

 
    <mx:HSlider x="117" y="10" id="hsl_volume" minimum="0" maximum="1"
        snapInterval="0.05"  value="0.75" change="{volumeSound();}"                       
            />

и если возможно скинте ссылку на исходники mp3 проигрывателя на flex

ir73 09.05.2007 19:11

разве эвенты с фигурными скобками пишутся?

etc 09.05.2007 19:24

Это исходник Apollo, но разница небольшая.
http://etcs.ru/pre/Winampollo/

В твоем случае нужно убрать биндинг (скобки фигурные). И ивент надо посылать.

atmel 09.05.2007 23:17

за winampolo спасибо.
Цитата:

Сообщение от __etc
В твоем случае нужно убрать биндинг (скобки фигурные).

вот так?
Код:

change="volumeSound();"
Цитата:

Сообщение от __etc
И ивент надо посылать.

а как это сделать?

atmel 09.05.2007 23:26

спасиба разобрался
Код:

          private function volumeSliderChangeHandler(event:SliderEvent):void
            {
                                var transform:SoundTransform = new SoundTransform();
                                transform.volume = hsl_volume.value/100;
                                sndChannel.soundTransform = transform;
            }
 
        ]]>
    </mx:Script>

       
   
    <mx:HSlider x="117" y="10"
    id="hsl_volume" liveDragging="true" minimum="0" maximum="100"
    value="0.75"
    change="volumeSliderChangeHandler(event);"                       
            />

теперь работает :)

etc 10.05.2007 01:02

Ну функцию можно было не переименовывать :)

atmel 10.05.2007 16:42

а как можно сделать эквалайзер ? или хотябы примитивный регулятор тембра по низким и высоким частотам?

miramax 11.05.2007 03:37

Это невозможно во Flash плеере.

ir73 11.05.2007 11:00

Цитата:

Сообщение от miramax
Это невозможно во Flash плеере.

а как же через bytearray

etc 11.05.2007 11:20

А никак. Ты видел методы воспроизведения ByteArray? Я не видел. В пакете media я пересмотрел много чего. ByteArray получается статическим методом SoundMixer и этот ByteArray не связан с конкретным звуком.


Часовой пояс GMT +4, время: 21:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.