我正在构建一个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
并播放它。当您单击第二个声音时,它会停止第一个播放并播放下一个声音。我认为会发生旧声音会被呼叫theSound = null
等破坏,但它似乎停止声音播放新声音并保持旧声音加载,这样你最终会在很多曲目后耗尽系统内存已经开始并保持装载。
因此,如果有人知道如何卸载声音或如何通常从系统内存转储内容,应用程序正在使用它将非常感激。
全部谢谢
威尔
答案 0 :(得分:0)
删除所有相关元素后调用air.System.gc()。