0

jPlayer で Joomla テンプレートを作成しました。

コードは次のとおりです (できるだけ単純にしました。プレーヤーのコードは jplayer.org からのものです)。

<?php
    defined( '_JEXEC' ) or die( 'Restricted access' );
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Chin Up!</title>

    <link type="text/css" rel="stylesheet" href="http://jplayer.org/latest/skin/pink.flag/jplayer.pink.flag.css" >

    <script type="text/javascript" src="http://jplayer.org/latest/js/jquery.jplayer.min.js" ></script>
    <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery-1.10.1.min.js"></script>
    <script type="text/javascript">
    //<![CDATA[
    $(document).ready(function() {

        $("#jquery_jplayer_1").jPlayer({
            ready: function(event) {
                $(this).jPlayer("setMedia", {
                    mp3: "http://jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3",
                    oga: "http://jplayer.org/audio/ogg/TSP-01-Cro_magnon_man.ogg"
                });
            },
            swfPath: "http://jplayer.org/latest/js",
            supplied: "mp3, oga"
        });
    });
    //]]>
  </script>
</head>

<body>

    <div id="jquery_jplayer_1" class="jp-jplayer"></div>

    <div id="jp_container_1" class="jp-audio">
        <div class="jp-type-single">
            <div class="jp-gui jp-interface">
                <ul class="jp-controls">

                    <!-- comment out any of the following <li>s to remove these buttons -->

                    <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
                    <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
                    <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
                    <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
                </ul>

                <!-- you can comment out any of the following <div>s too -->

                <div class="jp-progress">
                    <div class="jp-seek-bar">
                        <div class="jp-play-bar"></div>
                    </div>
                </div>
                <div class="jp-volume-bar">
                    <div class="jp-volume-bar-value"></div>
                </div>                 
            </div>
        </div>
    </div>

</body>
</html>

問題は、曲が再生されないことです...何も起こっていません。機能しているのは、プレーヤーが表示されていることだけです。Joomlaなしでオフラインで同じプレーヤーでサイトを作成しましたが、完全に機能していました...

Joomla バージョン 3.1.1 および Joomla は XAMPP で実行されています

4

1 に答える 1

0

私は解決策を見つけましたが、これが機能している理由がわかりません:D jPlayerがサイトにあるサイトを見つけ、そこからすべてのJavascriptコードをプロジェクトにコピーしました...機能していたので削除しましたスクリプトタグの一部。

ヘッダーのスクリプトは次のようになります。

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    <script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template ?>/jplayer/jquery.jplayer.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript">
        //<![CDATA[
        jQuery.noConflict();
        $(document).ready(function(){
            $("#jquery_jplayer_1").jPlayer({
                ready: function () { // When the jPlayer is ready to use
                    $(this).jPlayer("setMedia", { mp3: "http://localhost/Joomla-3.1.1/images/audio/The_Hellacopters_-_In_The_Sign_Of_The_Octopus.mp3" }); // Set the file which should be played
                },
                play: function() { // When the Play-Button is clicked
                    $(this).jPlayer("pauseOthers"); // To avoid multiple jPlayers playing together
                },
                swfPath: "jplayer/Jplayer.swf", // Set the File for flash (if html doesnt work this file is the source for the player)
                supplied: "mp3", // Tell the jPlayer which file type (codec) should be used
                cssSelectorAncestor: "#jp_container_1", // The buttons (links) in the div with this id will take effect on this jPlayer
            });

           $("#jquery_jplayer_2").jPlayer({
                ready: function () { // When the jPlayer is ready to use
                    $(this).jPlayer("setMedia", { mp3: "http://localhost/Joomla-3.1.1/images/audio/3_Doors_Down_-_Believer.mp3" }); // Set the file which should be played
                },
                play: function() { // When the Play-Button is clicked
                    $(this).jPlayer("pauseOthers"); // To avoid multiple jPlayers playing together
                },
                swfPath: "jplayer/Jplayer.swf", // Set the File for flash (if html doesnt work this file is the source for the player)
                supplied: "mp3", // Tell the jPlayer which file type (codec) should be used
                cssSelectorAncestor: "#jp_container_2", // The buttons (links) in the div with this id will take effect on this jPlayer
            });
        });
        //]]>
    </script>

これの面白いところは、スクリプトを切り替えると jPlayer が機能しないことです。最初に新しいバージョンが必要で、次に古いバージョンが必要なようです。

なぜこれが非常に混乱しているのか、またはそれらの間に非常に多くの変更があるのか​​ 誰か教えてもらえますか?

于 2013-06-07T22:42:00.490 に答える