Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在空气中卸载声音,系统内存已满_Javascript_Audio_Air - Fatal编程技术网

Javascript 在空气中卸载声音,系统内存已满

Javascript 在空气中卸载声音,系统内存已满,javascript,audio,air,Javascript,Audio,Air,我正在构建一个AIR应用程序,它可以从用户的计算机加载和播放mp3,我正在使用书中的代码来实现这一点: function startTrack() { if (isStarted == 0) { theSound = new air.Sound(); urlReq = new air.URLRequest(...dynamicaly generated extension); theSound.load(urlReq);

我正在构建一个AIR应用程序,它可以从用户的计算机加载和播放mp3,我正在使用书中的代码来实现这一点:

function startTrack()
{
    if (isStarted == 0)
    {
        theSound = new air.Sound();
        urlReq  = new air.URLRequest(...dynamicaly generated extension);
        theSound.load(urlReq);
        soundHandle = theSound.play();
        isStarted = 1;
    }
    else
    {
        soundHandle.stop();
        soundHandle = null;
        theSound = null;
        urlReq = null;
        isStarted = 0;
        startTrack();
    }
}
应用程序页面上有一系列链接,可播放不同的mp3,当您单击其中一个链接时,它会将声音路径传递到
urlReq
并播放。当你点击第二个声音时,它会停止播放第一个声音并播放下一个声音。我认为旧的声音会被call
theSound=null
等破坏,但它似乎只是停止声音播放新的声音并保持旧的声音加载,所以在启动并保持加载大量曲目后,最终会耗尽系统内存

因此,如果有人知道如何卸载声音或如何从应用程序正在使用的系统内存中转储内容,我们将不胜感激

谢谢大家

删除所有相关元素后,将调用air.System.gc()