FlashVars работает локально, но не на живом сервере

Я написал код для создания флеш-аудиоплеера. Этот проигрыватель принимает источник звука по параметру FlashVars. Он работает локально нормально .. Но когда он находится на сервере, показывает только файл swf, но воспроизводит звук, как и ожидалось. Почему так происходит. Мой код ActionScript приведен ниже.

var keyStr:String;
var valueStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;   //set the paramObj variable to the parameters property of the LoaderInfo object
for (keyStr in paramObj) 
{
    valueStr = String(paramObj[keyStr]);
    var req:URLRequest = new URLRequest(valueStr); 

}

    sound_icon.visible =  true
sound_icon.addEventListener(MouseEvent.CLICK, playSound);
var s:Sound = new Sound(req); 
gotoAndStop("f2");//firstly  animated sound icon is stopped at the beginning position

function playSound(e:MouseEvent):void{
    sound_icon.visible =  false; //hide sound icon
    gotoAndPlay("f2");           //play animated sound icon from beginning

var mySoundChannel:SoundChannel = s.play(); //reference for getting complete event

mySoundChannel.addEventListener(Event.SOUND_COMPLETE, songFinished);
function songFinished(ev:Event):void
{
   sound_icon.visible =  true;
   gotoAndStop("f2");
}

}

и код php ниже

    <div id="flashContent">

        <?php


        $swfSourcePath = "soundtest.swf";
        $soundSourcePath = "4.mp3"; 

        ?>

        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="40" height="40" id="soundtest" align="middle">
            <param name="movie" value="<?php echo $swfSourcePath;?>" />
                <param name=FlashVars value="myVariable=<?php echo $soundSourcePath;?>" />

            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="soundtest.swf" width="40" height="40">
                <param name="movie" value="<?php echo $swfSourcePath;?>" />
                    <param name=FlashVars value="myVariable=<?php echo  $soundSourcePath;?>" />

            <!--<![endif]-->
                <a href="http://www.adobe.com/go/getflash">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>
    </div>

person Sadhon    schedule 31.03.2017    source источник
comment
Находится ли ваш 4.mp3 в том же каталоге, что и ваша страница PHP? Вы уверены, что файл MP3 находится на сервере? Вы можете создать текстовое поле на сцене и заполнить его переменной valueStr, чтобы проверить, правильно ли передаются flashvars, и переменной s.url, чтобы проверить правильность установленного пути звука.   -  person Philarmon    schedule 03.04.2017


Ответы (1)


Есть несколько вариантов:

  • Если вы используете Flash Professional / Animate, откройте «Файл» - «Параметры публикации» - «Безопасность локального воспроизведения», выберите «Только доступ к сети».
  • Попробуйте использовать flashvars вместо FlashVars
  • Попробуйте установить источник как "soundtest.swf? MyVariable = 4.mp3"
person Oleg Knaus    schedule 03.04.2017