JavaScript と HTML5 を使用してオーディオ プレーヤーを作成しています。現在、ファイルを変更してスライダーの位置に基づいて再生しようとすると、まだ読み込まれていないため、player.duration が NaN になるというエラーが発生しました。アラートを設定すると、正常に機能します。基本的に、ブラウザがかろうじてハングアップした場合は十分な時間が与えられますが、まっすぐに実行すると、最初にロードが完了しません。
player.src = file;
// The next command is reached before the full effect of the above line is finished
player.currentTime = (slider.offsetLeft) / trackWidth * player.duration;
そこには他にもいくつかのものがありますが、本質的には、そこにわずかな一時停止を入れる方法、または 2 行目が実行される前にすべてが終了するのを待つ方法が必要です。2 行目で setTimeout を使用できることに気付きましたが、その行は関数の数か所にあるため、代わりに最初の行の後に配置できる「1 つの修正」を望んでいました。