2

4 時間の長さの音声ファイルがあります。私は自分のニーズを管理するために標準的なプレーヤーを作成しました - 正常に動作しますが、プレーヤーが停止する位置カウントで 12180000 ミリ秒以上を求めません。12100000(数秒早い)に音を鳴らす位置にすると、問題なく鳴るし、コードで位置を変えずに鳴らし続ければ最後までOKです。この種の問題に関するエラーや情報は得られません。

soundChannel = sound.play(12180000); // DOES NOT PLAY, NO ERRORS
soundChannel = sound.play(12100000); // PLAYS FINE, AND CONTINUES TO PLAY TILL THE END
  • 再生する前に、サウンドが完全に読み込まれます。

誰かアイデアはありますか?

4

1 に答える 1

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);
于 2012-10-09T19:32:53.863 に答える