Форум 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 не связан с конкретным звуком.

ir73 11.05.2007 12:12

У лоадера есть метод
Код:

public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
загрузив его, мы можем закастить content в звук.

etc 12.05.2007 12:59

Опа, спасибо :D

miramax 12.05.2007 13:05

Вери интересно :)
Стоит капнуть эту тему.
Только видимо придётся разбираться в алгоритмах mp3 сжатия. И править байткод вручную.

etc 12.05.2007 13:12

Привязать бы сюда ещё computeSpectrum…

ir73 13.05.2007 15:50

Цитата:

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

хыхы : )

http://lab.andre-michelle.com/eq-filter

etc 13.05.2007 15:52

Это мы видели. Но реализация непонятна. Раньше делали сразу три трека запускали, здесь — не знаю.

ir73 13.05.2007 16:00

что б лди не сомневались в том, что это не 3 трека и все по честному, там есть регулятор BPM

etc 13.05.2007 16:06

Есть, да. Я не знаю, как это все работает, есть только подозрение, что Мишель занимается обработкой ByteArray на лету, занимаясь декомпрессией mp3-потока и обратной компрессией. Исходник он, видимо специально, не выложил…

Хотя, вроде можно и WAV загнать.


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

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