PHP 变量到 Java 小程序?
Posted
技术标签:
【中文标题】PHP 变量到 Java 小程序?【英文标题】:PHP variables to Java applet? 【发布时间】:2012-05-20 17:44:11 【问题描述】:我有一个音频可视化小程序,我使用 fft 进行处理和最小化来分析音频。现在我想在用户点击歌曲时使用 php 动态地将歌曲输入到程序中。我已经阅读了有关 JavaBridge 的信息,并使用 Tomcat 启动并运行它。我是否需要将歌曲变量值存储在 xml 文件中并将其发送到 .java 文件?这是正确的方法吗?如果是这样,知道这会是什么样子吗?我对java和处理完全陌生。任何帮助都将不胜感激!
【问题讨论】:
如果我可以在开发需要在网页中运行的 Java 小程序时为您提供提示,因为它们与 javascript 交互,请打开计算机上的“Java 控制面板”,然后高级 > 控制台>显示安慰。现在,当您访问具有小程序的网页时,浏览器中会弹出一个 java 控制台。有助于调试和查看消息/异常。此外,您可能需要经常按“x”命令。 【参考方案1】:当用户点击歌曲时,使用 php 动态地将歌曲输入到程序中。
假定答案的翻译:
PHP 转 html。 “点击歌曲”到“点击链接”。由于 HTML 中有歌曲链接,添加一个onclick()
处理程序,并在被调用的函数中,使用 JavaScript 调用小程序方法来加载所需的歌曲。
只要小程序从代码库或文档库加载歌曲,这在沙盒小程序中应该是允许的。不幸的是,从 JS 调用的方法中这样做会使事情稍微复杂化,因为安全沙盒更加严格。
如果是这种情况,则需要将调用包装在 PrivilegedAction
中并使用 AccessController.doPrivileged(PrivilegedAction)
调用它
【讨论】:
如果你有 javascript 调用的方法只是将动作排入队列,并且预先创建的单独线程通过轮询队列来执行网络操作,那是否不需要使用 PriveledgedAction 进行包装? 是的,谢谢,应该可以完美运行!如果流来自像 Soundcloud 这样的外部来源怎么办?大多数 Soundcloud 歌曲都有一个链接到 128kbs mp3 流的 stream_url 属性。会有整合的可能吗? 小程序需要信任(不是沙盒),除非您可以在您的站点安排代理 - 以重定向源。 我实际上意识到我可以将歌曲 url 作为参数发送到处理小程序,这样当用户单击歌曲时,它会调用一个 javascript 函数,该函数对 php 进行 ajax 调用我通过歌曲 url/id 的脚本。然后我将 url 插入到 applet 参数中,并在 applet 中使用 String url = this.getParameter("streamurl"); 读取它。 ,而且效果很好。感谢您的所有帮助! 另外顺便说一句,与 128kbps Soundcloud 流 url 的集成效果很好。 Minim 接受 url 或 mp3 文件作为源,因此 Soundcloud 的 api 提供的“stream_url”与 Minim 配合得很好!【参考方案2】:基本顺序如下:
用户在浏览器中请求.php页面。 Web 服务器让 PHP 编写页面。 它可以编写带有指定applet的HTML,可以编写带有PHP填充值的参数的applet HTML。 客户端收到一个 HTML 页面,该页面将启动小程序。因此,PHP 无法以简单直接的方式处理对页面的点击。在此关注@AndrewThompson。
【讨论】:
以上是关于PHP 变量到 Java 小程序?的主要内容,如果未能解决你的问题,请参考以下文章