0

停止ボタンを追加したいと思います。現時点では、再生と一時停止ボタンのみですが、停止は実際にはブラウザが音楽をバッファリングしたものではなく、先頭にジャンプしません。MP3 ファイルはおそらく問題ありませんが、ライブ ストリームでは問題ありません。誰かが私を助けることができますか?ありがとうございました。

var pause = new Image();
pause.src = "pause.png";

var play_control = 0;
function playmusic() {
    if (play_control == 0) {
        document.getElementById('musikplayer').play();
        document.getElementById('playbutt').src = 'pause.png';
        play_control = 1;
        window.setTimeout("playcontrol()", 0); 
        window.setTimeout("zeitanzeige()", 0);
    } else {
        document.getElementById('musikplayer').pause();
        document.getElementById('playbutt').src = 'play.png';
        play_control = 0;
    }
}
function playcontrol() {
    if(play_control == 1) {
        if(
            document.getElementById('musikplayer').currentTime 
            == document.getElementById('musikplayer').duration
        ) {
            document.getElementById('playbutt').src = 'play.png';
            play_control = 0;
        } else {
            window.setTimeout("playcontrol()",0); 
        }
    }
}
function zeitanzeige() {
    if(play_control == 1) {
        var full = document.getElementById('musikplayer').duration;
        var full_min = Math.floor(full / 60);
        var full_sec = Math.floor(full - (full_min * 60));

        if(full_min < 10) {
            full_min = '0' + full_min;
        }
        if(full_sec < 10) {
            full_sec = '0' + full_sec;
        }

        var curr = document.getElementById('musikplayer').currentTime;
        var curr_min = Math.floor(curr / 60);
        var curr_sec = Math.floor(curr - (curr_min * 60));

        if(curr_min < 10) {
            curr_min = '0' + curr_min;
        }
        if(curr_sec < 10) {
            curr_sec = '0' + curr_sec;
        }

        document.getElementById('time').innerHTML = "" + curr_min + ":" 
                                                       + curr_sec + "";

        window.setTimeout("zeitanzeige()",0);
    } else {
        document.getElementById('time').innerHTML = "00:00";
    }
}
function vol(z) {
    switch(z) {
        case "1":
            document.getElementById('musikplayer').volume = 0.2;
            document.getElementById('vol1').style.background = '#c9c3c3';
            document.getElementById('vol2').style.background = '#8d8585';
            document.getElementById('vol3').style.background = '#8d8585';
            document.getElementById('vol4').style.background = '#8d8585';
            document.getElementById('vol5').style.background = '#8d8585';
            break;
        case "2":
            document.getElementById('musikplayer').volume = 0.4;    
            document.getElementById('vol1').style.background = '#c9c3c3';
            document.getElementById('vol2').style.background = '#c9c3c3';
            document.getElementById('vol3').style.background = '#8d8585';
            document.getElementById('vol4').style.background = '#8d8585';
            document.getElementById('vol5').style.background = '#8d8585';
            break;
        case "3":
            document.getElementById('musikplayer').volume = 0.6;
            document.getElementById('vol1').style.background = '#c9c3c3';
            document.getElementById('vol2').style.background = '#c9c3c3';
            document.getElementById('vol3').style.background = '#c9c3c3';
            document.getElementById('vol4').style.background = '#8d8585';
            document.getElementById('vol5').style.background = '#8d8585';
            break;
        case "4":
            document.getElementById('musikplayer').volume = 0.8;    
            document.getElementById('vol1').style.background = '#c9c3c3';
            document.getElementById('vol2').style.background = '#c9c3c3';
            document.getElementById('vol3').style.background = '#c9c3c3';
            document.getElementById('vol4').style.background = '#c9c3c3';
            document.getElementById('vol5').style.background = '#8d8585';
            break;
        case "5":
            document.getElementById('musikplayer').volume = 1.0;    
            document.getElementById('vol1').style.background = '#c9c3c3';
            document.getElementById('vol2').style.background = '#c9c3c3';
            document.getElementById('vol3').style.background = '#c9c3c3';
            document.getElementById('vol4').style.background = '#c9c3c3';
            document.getElementById('vol5').style.background = '#c9c3c3';
            break;
    }
}
4

1 に答える 1

0

停止ボタンだけが必要な場合、JavaScript API を介してそのようなことを直接制御することはできません。ただし、基本的には、曲を一時停止して最初から再生するように設定することで、同じ動作をシミュレートできます (バッファリングを停止したくない場合)。このようなもの:

var stop = function(stopButtonAudio) {
   stopButtonAudio.pause();
   stopButtonAudio.currentTime=0;
}  
于 2013-02-26T11:12:55.553 に答える