Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ add another resource

JavaScript

Babel is required to process package imports. If you need a different preprocessor remove all packages first.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Behavior

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML Settings

Here you can Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

HTML

            
              <p>
<input type="button" value="読み込み中" id="RPGFieldBGMBtn">
<input type="button" value="読み込み中" id="RPGFieldBGMStopBtn">
</p>
<p>
<input type="button" value="読み込み中" id="RPGBattleBGMBtn">
<input type="button" value="読み込み中" id="RPGBattleBGMStopBtn">
</p>

<input type="button" value="読み込み中" id="RPGBattleSE01Btn">
<input type="button" value="読み込み中" id="RPGBattleSE01StopBtn"><br>
<input type="button" value="読み込み中" id="RPGBattleSE02Btn">
<input type="button" value="読み込み中" id="RPGBattleSE02StopBtn"><br>
<input type="button" value="読み込み中" id="RPGBattleSE03Btn">
<input type="button" value="読み込み中" id="RPGBattleSE03StopBtn"><br>

<p>
<input type="button" value="読み込み中" id="stopBtn">
</p>

            
          
!

CSS

            
              body { background-color: #DDDDDD; font: 30px sans-serif; }
            
          
!

JS

            
              // forked from siouxcitizen's "HTML5のAudio機能で音量調整の機能をテスト" http://jsdo.it/siouxcitizen/duxy
//
//失敗作
//HTML5のAudio機能で、MP3ファイル読込後に再生ボタン等が活性化されるようにしてみました、
//MP3ファイル読込の確認ができるかテストしてみたものです、
//が、読込がうまくいかずボタン活性化できない場合が発生します。。。
//読込をしっかり判定したほうがうまくいかなくなるとは。。。 なにか間違えてるかなぁ。。
//  → preloadを "auto" に設定してやると読み込むようになりました(たぶん)
//「全再生停止」ボタンもひきつづきうまく機能しない場合あり。。。
//PCのFirefoxのVer.35.0でテストしました
//
//
//コードを作成するにあたって以下のサイトを参考にさせていただきました
//Stackoverflow   HTML5 Audio Load Event?
//http://stackoverflow.com/questions/9337300/html5-audio-load-event
//
//音楽:魔王魂
//MP3ファイルは以下サイトからのファイルを使用させていただきました
//魔王魂
//http://maoudamashii.jokersounds.com/
//
var RPGFieldBGMButton;
var RPGFieldBGMStopButton;
var audioFieldBGM;

var RPGBattleBGMButton;
var RPGBattleBGMStopButton;
var audioBattleBGM;

var RPGBattleSE01Button;
var RPGBattleSE01StopButton;
var audioBattleSE01;

var RPGBattleSE02Button;
var RPGBattleSE02StopButton;
var audioBattleSE02;

var RPGBattleSE03Button;
var RPGBattleSE03StopButton;
var audioBattleSE03;

var counter = 0;

function init(){
    // AudioElement を作成
    audioFieldBGM = new Audio();
    audioBattleBGM = new Audio();
    audioBattleSE01 = new Audio();
    audioBattleSE02 = new Audio();
    audioBattleSE03 = new Audio();
    
    // プリロードを設定する
    audioFieldBGM.preload = "auto";
    audioBattleBGM.preload = "auto";
    audioBattleSE01.preload = "metadata";
    audioBattleSE02.preload = "metadata";
    audioBattleSE03.preload = "metadata";
    
    // ループ再生を有効
    audioFieldBGM.loop = true;  
    audioBattleBGM.loop = true;  
    
    // 音量を 設定する
    audioFieldBGM.volume = 0.5;
    audioBattleBGM.volume = 0.3;
    audioBattleSE01.volume = 0.7;
    audioBattleSE02.volume = 0.7;
    audioBattleSE03.volume = 0.5;
       
    
    //フィールドBGM用MP3ファイルのURL
    //http://jsrun.it/assets/y/U/n/E/yUnE9.mp3
    // サウンドファイルの URL アドレスを指定
    //audioFieldBGM.src = "http://jsrun.it/assets/y/U/n/E/yUnE9.mp3";
    audioFieldBGM.src = "https://rawcdn.githack.com/siouxcitizen/3DModel/cad3c5f29013f145160c35df69b6defa3e30d6d8/audio/RPGField.mp3";
    audioFieldBGM.addEventListener('canplaythrough', fieldBGMLoaded, false);
    // 読み込みを開始する
    audioFieldBGM.load(); 

    //バトルBGM用MP3ファイルのURL
    //http://jsrun.it/assets/e/j/h/I/ejhIB.mp3
    // サウンドファイルの URL アドレスを指定
    //audioBattleBGM.src = "http://jsrun.it/assets/e/j/h/I/ejhIB.mp3";
    audioBattleBGM.src = "https://rawcdn.githack.com/siouxcitizen/3DModel/cad3c5f29013f145160c35df69b6defa3e30d6d8/audio/RPGBattle.mp3";
    audioBattleBGM.addEventListener('canplaythrough', battleBGMLoaded, false);
    // 読み込みを開始する
    audioBattleBGM.load();   

    //バトルSE用MP3ファイルその①のURL
    //http://jsrun.it/assets/6/O/o/T/6OoT4.mp3
    // サウンドファイルの URL アドレスを指定
    //audioBattleSE01.src = "http://jsrun.it/assets/6/O/o/T/6OoT4.mp3";
    audioBattleSE01.src = "https://rawcdn.githack.com/siouxcitizen/3DModel/cad3c5f29013f145160c35df69b6defa3e30d6d8/audio/RPGBattleSE01.mp3";
    audioBattleSE01.addEventListener('canplaythrough', battleSE01Loaded, false);
    // 読み込みを開始する
    audioBattleSE01.load(); 

    //バトルSE用MP3ファイルその②のURL
    //http://jsrun.it/assets/a/q/x/M/aqxMB.mp3
    // サウンドファイルの URL アドレスを指定
    //audioBattleSE02.src = "http://jsrun.it/assets/a/q/x/M/aqxMB.mp3";
    audioBattleSE02.src = "https://rawcdn.githack.com/siouxcitizen/3DModel/cad3c5f29013f145160c35df69b6defa3e30d6d8/audio/RPGBattleSE02.mp3";
    audioBattleSE02.addEventListener('canplaythrough', battleSE02Loaded, false);
    // 読み込みを開始する
    audioBattleSE02.load(); 

    //バトルSE用MP3ファイルその③のURL
    //http://jsrun.it/assets/k/T/b/0/kTb0d.mp3
    // サウンドファイルの URL アドレスを指定
    //audioBattleSE03.src = "http://jsrun.it/assets/k/T/b/0/kTb0d.mp3";
    audioBattleSE03.src = "https://rawcdn.githack.com/siouxcitizen/3DModel/cad3c5f29013f145160c35df69b6defa3e30d6d8/audio/RPGBattleSE03.mp3";
    audioBattleSE03.addEventListener('canplaythrough', battleSE03Loaded, false);
    // 読み込みを開始する
    audioBattleSE03.load(); 
    

}
//■Startフィールド風BGM関連処理■
//サウンド用MP3ファイル読み込み後にボタンを設定
function fieldBGMLoaded(){
    RPGFieldBGMButton = document.getElementById("RPGFieldBGMBtn"); 
    RPGFieldBGMButton.value = "RPGフィールド風BGM 再生";
    RPGFieldBGMButton.onclick = playRPGFieldBGM;

    RPGFieldBGMStopButton = document.getElementById("RPGFieldBGMStopBtn"); 
    RPGFieldBGMStopButton.value = "RPGフィールド風BGM 停止";
    RPGFieldBGMStopButton.onclick = stopRPGFieldBGM;
    
    counter = counter + 1;
    if (counter > 4) activateStopAudioPlay();
}
function playRPGFieldBGM(){
    // 再生を開始する
    audioFieldBGM.play();
}
function stopRPGFieldBGM(){
    // フィールドBGM再生を停止する
    audioFieldBGM.pause();
    audioFieldBGM.currentTime = 0;
}
//■Endフィールド風BGM関連処理■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

//■Startバトル風BGM関連処理■
//サウンド用MP3ファイル読み込み後にボタンを設定
function battleBGMLoaded(){
    RPGBattleBGMButton = document.getElementById("RPGBattleBGMBtn");
    RPGBattleBGMButton.value = "RPGバトル風BGM 再生";
    RPGBattleBGMButton.onclick = playRPGBattleBGM;

    RPGBattleBGMStopButton = document.getElementById("RPGBattleBGMStopBtn");
    RPGBattleBGMStopButton.value = "RPGバトル風BGM 停止";
    RPGBattleBGMStopButton.onclick = stopRPGBattleBGM;
    
    counter = counter + 1;
    if (counter > 4) activateStopAudioPlay();
}
function playRPGBattleBGM(){
    // 再生を開始する
    audioBattleBGM.play();
}
function stopRPGBattleBGM(){
    // バトルBGM再生を停止する
    audioBattleBGM.pause();
    audioBattleBGM.currentTime = 0;
}
//■Endバトル風BGM関連処理■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

//■StartバトルSE①関連処理■
//サウンド用MP3ファイル読み込み後にボタンを設定
function battleSE01Loaded(){
    RPGBattleSE01Button = document.getElementById("RPGBattleSE01Btn");
    RPGBattleSE01Button.value = "RPGバトル攻撃SE風01 再生";
    RPGBattleSE01Button.onclick = playRPGBattleSE01;

    RPGBattleSE01StopButton = document.getElementById("RPGBattleSE01StopBtn");
    RPGBattleSE01StopButton.value = "RPGバトル攻撃SE風01 停止";
    RPGBattleSE01StopButton.onclick = stopRPGBattleSE01;
    
    counter = counter + 1;
    if (counter > 4) activateStopAudioPlay();
}
function playRPGBattleSE01(){
    // 再生を開始する
    audioBattleSE01.play();
}
function stopRPGBattleSE01(){
    // バトルSEその①を停止する
    audioBattleSE01.pause();
    audioBattleSE01.currentTime = 0;
}
//■EndバトルSE①関連処理■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

//■StartバトルSE②関連処理■
//サウンド用MP3ファイル読み込み後にボタンを設定
function battleSE02Loaded(){
    RPGBattleSE02Button = document.getElementById("RPGBattleSE02Btn");
    RPGBattleSE02Button.value = "RPGバトル攻撃SE風02 再生";
    RPGBattleSE02Button.onclick = playRPGBattleSE02;

    RPGBattleSE02StopButton = document.getElementById("RPGBattleSE02StopBtn");
    RPGBattleSE02StopButton.value = "RPGバトル攻撃SE風02 停止";
    RPGBattleSE02StopButton.onclick = stopRPGBattleSE02;
    
    counter = counter + 1;
    if (counter > 4) activateStopAudioPlay();
}
function playRPGBattleSE02(){
    // 再生を開始する
    audioBattleSE02.play();
}
function stopRPGBattleSE02(){
    // バトルSEその②を停止する
    audioBattleSE02.pause();
    audioBattleSE02.currentTime = 0;
}
//■EndバトルSE②関連処理■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

//■StartバトルSE③関連処理■
//サウンド用MP3ファイル読み込み後にボタンを設定
function battleSE03Loaded(){
    RPGBattleSE03Button = document.getElementById("RPGBattleSE03Btn");
    RPGBattleSE03Button.value = "RPGバトル攻撃SE風03 再生";
    RPGBattleSE03Button.onclick = playRPGBattleSE03;

    RPGBattleSE03StopButton = document.getElementById("RPGBattleSE03StopBtn");
    RPGBattleSE03StopButton.value = "RPGバトル攻撃SE風03 停止";
    RPGBattleSE03StopButton.onclick = stopRPGBattleSE03;
    
    counter = counter + 1;
    if (counter > 4) activateStopAudioPlay();
}
function playRPGBattleSE03(){
    // 再生を開始する
    audioBattleSE03.play();
}
function stopRPGBattleSE03(){
    // バトルSEその③を停止する
    audioBattleSE03.pause();
    audioBattleSE03.currentTime = 0;
}
//■EndバトルSE③関連処理■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

function activateStopAudioPlay() {
    var stopButton = document.getElementById("stopBtn");
    stopButton.value = "全再生停止";
    stopButton.onclick = stopAudioPlay;
}
function stopAudioPlay(){
    // 再生を停止する
    audioFieldBGM.pause();
    audioFieldBGM.currentTime = 0;
    audioBattleBGM.pause();
    audioBattleBGM.currentTime = 0;
    audioBattleSE01.pause();
    audioBattleSE01.currentTime = 0;
    audioBattleSE02.pause();
    audioBattleSE02.currentTime = 0;
    audioBattleSE03.pause();
    audioBattleSE03.currentTime = 0;
}

init();
            
          
!
999px

Console