Audioplayer

私が作ったプレイヤーと財団標準MP3プレイヤーとの比較は下記ページをお願いします。
音楽を流す

直った

これが財団の標準プレイヤーが呼び出している大元のコードのコピペです。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8" />
    <title>MP3プレーヤー</title>
    <!-- 
    Created by James Kanjo 2009
    Edited by Dr Devan 2014
    -->
</head>
<body>
    <script type="text/javascript" src="http://ko.scp-wiki.net/local--files/component%3Aaudio/audio-player.js"></script>
 
    <script type="text/javascript">
    var url_params = /^#([^#]*)(#autoplay)?$/;
    var match = url_params.exec(unescape(window.location.hash));
    if (match) {
        document.write('<audio controls ');
        if (match[2]) {
        document.write('autoplay');
        }
        document.write(' style="width: 300px; height: 30px;"><source src="' + match[1]);
        document.write('" type="audio/mpeg">');
        document.write('<object type="application/x-shockwave-flash" data="http://ko.scp-wiki.net/local--files/component%3Aaudio/player.swf" id="audioplayer1" height="24" width="290">');
        document.write('<param name="movie" value="http://ko.scp-wiki.net/local--files/component%3Aaudio/player.swf">');
        document.write('<param name="FlashVars" value="playerID=1&amp;soundFile=' + match[1]);
        if (match[2]) {
        document.write('&amp;autostart=yes');
        }
        document.write('">');
        document.write('<param name="quality" value="high">');
        document.write('<param name="menu" value="false">');
        document.write('<param name="wmode" value="transparent">');
        document.write('<i>Flash has been disabled, or is not installed. This MP3 player requires <a target="_blank" href="http://get.adobe.com/flashplayer/">Flash</a> to function.</i>');
        document.write('</object>');
        document.write('</audio>');
    }
    else
        document.write('<i>Invalid URL syntax</i>');
    </script>
    <noscript>
    <i>Your Javascript has been disabled. This MP3 player requires Javascript to function.</i>
    </noscript>
</body>
</html>

こいつは呼び出された時に

自身のURL(http://ja.scp-wiki.net/local--code/component:audio) + #"音楽ファイルのURL" + "自動再生の設定"

というURLになっているかどうかで音楽を再生します。
例えば「http://shitake-crude-production.wikidot.com/local--files/audioplay/Chopin-Poronase-Heroic.mp3」という音楽ファイルを流す際は

[[iframe http://ja.scp-wiki.net/local--code/component:audio#http://shitake-crude-production.wikidot.com/local--files/audioplay/Chopin-Poronase-Heroic.mp3 frameborder="0" scrolling="no" width="320px" height="40px"]]

という呼び出し方をします。自動再生をする際は

[[iframe http://ja.scp-wiki.net/local--code/component:audio#http://shitake-crude-production.wikidot.com/local--files/audioplay/Chopin-Poronase-Heroic.mp3#autoplay frameborder="0" scrolling="no" width="320px" height="40px"]]

という呼び出し方をします。

Wiki構文にある

[[include component:audio-player
|URL=mp3-url
]]

とは上記のiframeを生成するinclude文です。

本当の改善点

1.Wiki構文でのMP3プレイヤーが動かないのは読み込んでいるファイルが原因です。

2.本来備わっていたはずのautoplay(ページ読み込み時に自動演奏)の機能が死んでいたので、これが機能するように直す必要があります

3.どうせ直ってもサンドボックスじゃ動きません

修正案です

財団標準プレイヤー一層目:
http://ja.scp-wiki.net/component:audio-player

[[include component:audio-player-base
|URL={$URL}
|autoplay={$autoplay_{$autoplay}}
|autoplay=false
|autoplay_TRUE={$autoplay_true} |autoplay_True={$autoplay_true} |autoplay_yes=>
{$autoplay_true} |autoplay_YES={$autoplay_true} |autoplay_Yes={$autoplay_true}
|autoplay_{$autoplay}={$autoplay_false}
|autoplay_true=#autoplay |autoplay_false=[!----]
]]

修正

[[include component:audio-player-base
|URL={$URL}
|autoplay2={$autoplay_{$autoplay}}
|autoplay = {$autoplay}
|autoplay = false
|autoplay_TRUE={$autoplay_true} |autoplay_True={$autoplay_true} |autoplay_yes=
{$autoplay_true} |autoplay_YES={$autoplay_true} |autoplay_Yes={$autoplay_true}
|autoplay_true=#autoplay |autoplay_false=[!----]
]]

財団標準プレイヤー2層目:
http://ja.scp-wiki.net/component:audio-player-base

[[iframe http://ja.scp-wiki.net/local--code/component:audio#{$URL}{$autoplay} frameborder="0" scrolling="no" width="320px" height="40px"]]

修正

[[iframe http://ja.scp-wiki.net/local--code/component:audio#{$URL}{$autoplay2} frameborder="0" scrolling="no" width="320px" height="40px"]]]

by C-takeC-take

特に指定がない限り、このサイトのコンテンツには次のライセンスが適用されます: Creative Commons Attribution-ShareAlike 3.0 License