将变量从 PHP/MySQL 传递给 actionscript 以播放音频文件
Posted
技术标签:
【中文标题】将变量从 PHP/MySQL 传递给 actionscript 以播放音频文件【英文标题】:Passing variables to actionscript from PHP/MySQL to play a audio file 【发布时间】:2011-05-16 00:26:47 【问题描述】:如何从 php 中引入路径作为变量?我在 My SQL 数据库中存储了数百个 mp3 文件名,我想调用该名称,将其加载到变量中,然后让它替换对声音文件的调用中的 URL。我对 PHP 和数据库方面的一切都做好了准备,但我对 Flash 部分感到沮丧。我认为它只涉及将一个变量从 php 传递到 flash。我们正在构建的网页最终每页会有 10 到 15 个文件,每个文件都有不同的声音文件和不同的图像,您可以单击它们来触发声音。第一次单击将启动文件,第二次将停止声音。图像和声音文件都存储在数据库中。
我在另一篇文章中找到了这段代码,这基本上就是我想要做的。仍然缺少按钮部分,但如果我能从 PHP 中找出变量,我认为它将打开一堆新选项。
var soundRequest:URLRequest = "path/to/file.mp3"; //路径将是一个从数据库传递到php然后传递给actionscript的变量 var s:Sound = new Sound(soundRequest); var sChannel = s.play(0, int.MAX_VALUE); //使其以可能的最高数字重复闪烁。 //上面立即启动声音(流式传输); //现在等待完成,假装我们之前没有启动它。 s.addEventLister(Event.SOUND_COMPLETE, onSComplete, false, 0, true); 函数 onSComplete(e:Event):void var sChannel = s.play(0, int.MAX_VALUE); //使其尽可能重复【问题讨论】:
【参考方案1】:如果您在页面上有点击触发,那么您应该在页面上使用 javascript 到 Flash 通信。一个 Flash 文件和一个与 Flash 播放哪个文件的通信。这些天来,您可能听说过 SWFobject,而使用 Javascript,您可能听说过 jQuery。那么你需要的东西在 jQuery SWFObject 中有很好的记录 插入。
这里有一个独立的例子。 http://jquery.thewikies.com/swfobject/example_flashInteract.html
【讨论】:
你知道我怎样才能得到这个例子的 FLA 的副本,以便我能看到 flash 文件中发生了什么吗? "" 是否也可以将 MP3 文件的名称传递给播放器(到音频播放器),以便一键式您可以从页面上的一堆不同链接中说“在音频播放器中播放此音频文件”?我仍然需要找到或弄清楚如何构建一个包含音频文件变量而不是固定文件名的音频播放器。播放器不会显示在页面上,只是用来播放每个文件。【参考方案2】:将所有文件名从 PHP 发送到 AS3 并将它们存储在一个数组中是有意义的,之后一切都可以在客户端处理。
您需要检查 Flash / PHP 通信,网上有很多可用的教程。这是一个例子。Output mysql data as XML with PHP
基本思想是调用一个 PHP 脚本,该脚本应该将您的 mp3 信息作为 XML 或 JSON 返回。我个人更喜欢 JSON,但您需要下载一个库。as3 corelib
获取数据后,可以创建ValueObjectsPopulating Value Objects with web service XML
您最终应该得到一个 ValueObjects 数组,然后可以将其分配给您的各种图像。 您可以为每个图像创建一个特定的类,将 ValueObject 作为参数。
有关 AS3 的更多信息,请转至here
【讨论】:
以上是关于将变量从 PHP/MySQL 传递给 actionscript 以播放音频文件的主要内容,如果未能解决你的问题,请参考以下文章
将变量从 MaterialPageRoute 传递到自定义小部件