我有一个4小时的音频文件。我创建了一个标准的播放器来管理我的需求 - 工作正常,但你不会在位置数玩家停止时寻求超过12180000毫秒。如果您将声音定位为播放12100000(早期几秒) - 播放正常,如果计数播放而不通过代码更改位置,则直到结束都是好的。我没有收到任何关于此类问题的错误或任何信息。
soundChannel = sound.play(12180000); // DOES NOT PLAY, NO ERRORS
soundChannel = sound.play(12100000); // PLAYS FINE, AND CONTINUES TO PLAY TILL THE END
所以有人有任何想法吗?
答案 0 :(得分:1)
这很有趣......我无法让它过去12173943 milliseconds
。对我来说,它确实可以达到那个确切的数字,但在此之后的任何事情都不会发挥作用。我的猜测是闪存为声音分配了一定数量的内存,而那个数字正好计算到分配给该文件的最大内存量。希望其他人可以加入。我正在使用Rummer提供的MP3,这是我的测试代码
import flash.media.*;
import flash.events.*;
import flash.net.*;
var channel:SoundChannel = new SoundChannel();
var sound:Sound = new Sound();
sound.load(new URLRequest("podcast.mp3"));
sound.addEventListener(Event.COMPLETE, soundLoaded);
sound.addEventListener(IOErrorEvent.IO_ERROR, onError);
function soundLoaded(e:Event):void
{
channel = sound.play(12173943);
}
function onError(e:IOErrorEvent):void
{
trace(e);
}
我正在使用Flash CS5.5并导出为Flash 10.2。我会高度考虑将你的mp3分成几部分。我的SWF第一次加载,因为mp3的大小,它在播放前闪烁了10秒钟。
=============== AS2版本可行
var my_sound:Sound = new Sound();
my_sound.onLoad = function(success:Boolean)
{
if (success)
{
my_sound.start(12180);
}
};
my_sound.loadSound("podcast.mp3", true);