0

嗨,我想知道是否有人可以帮我解决这个问题...我已经设法收集了一些有关如何从 Flash 调用 php 以流式传输 mp3 的信息,但是我不确定如何从 Flash 流式传输数据。以下是我目前拥有的代码。

闪光

function onPlay(e:MouseEvent):void
{
    //Load file to play
    var req:URLRequest = new URLRequest("streamAudio.php");
    var urlData:URLVariables = new URLVariables();
    urlData.id = id;
    req.data = urlData;

    myMusic.load(req); //myMusic is a Sound object
    myChannel = myMusic.play(); //myChannel is a SoundChannel object

    btn_Play.visible = false;
    btn_Pause.visible = true;
}

PHP

<?php
$ID = $_GET["id"];

if ($ID != 0)
{
    //Code to fetch URL from DB

    $url = $row["url"];
    $file = "/" . $url;

    if(file_exists($file))
    {
        header("Content-type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
        header("Content-Length: " . filesize($file));
        header("Expires: -1");
        header("Cache-Control: no-store, no-cache, must-revalidate");
        header("Cache-Control: post-check=0, pre-check=0", false);

        readfile($file);
    }

    //Close DB
}

感谢所有帮助。提前致谢!!

编辑

修改了代码。如果现在直接测试,PHP 脚本就可以工作。

4

1 回答 1

1

我不知道你为什么要做你正在做的事情......你应该能够非常简单地播放音频:

s = new Sound();
s.loadSound("http://someserver/yourscript.php", true);

当然,这首先假设您的 PHP 脚本正在运行。请注意,在许多情况下,您无法在下载远程资源之前获取它的文件大小。首先通过直接点击它来测试您的 PHP 脚本。

于 2012-05-24T02:22:34.663 回答