0

サーバーからオーディオsrcをストリーミングしているときにcurrentTimeを設定しようとしています。他のすべてのブラウザーではこれは正常に機能しますが、IE9でcurrentTimeを設定してplayを呼び出すと、最初に戻ります。

this.playAtTime = function(aTime) {
    Debug("play at time audio: " + aTime);
    Debug("this.mAudioPlayer.currentTime: " + this.mAudioPlayer.currentTime);

     this.startTime = aTime;

    if (this.mAudioPlayer.src != this.mAudioSrc) {
        this.mAudioPlayer = new Audio();
        this.mAudioPlayer.src = this.mAudioSrc;
        this.mAudioPlayer.load();
        this.mAudioPlayer.play();
        this.mAudioPlayer.addEventListener('loadedmetadata', function(){ this.currentTime = aTime / 1000.0; }, false );
    }
    else if ((isChrome() || isMobileSafari()) && aTime == 0) {
        this.mAudioPlayer.load();
        this.mAudioPlayer.currentTime = aTime / 1000.0;
        this.mAudioPlayer.play();
        Debug("Reloading audio");
    }else{

        this.mAudioPlayer.currentTime = aTime / 1000.0;
        this.mAudioPlayer.play();
    }       
};

これはバッファリングの問題ではありません。これは、待機時間が長くても、設定時に成功しないためです。

4

1 に答える 1

1

以下の2行の位置を交換してみてください。

this.mAudioPlayer.play();
this.mAudioPlayer.currentTime = aTime / 1000.0;
于 2012-10-17T18:33:17.827 に答える