jPlayer不是函数错误 - Stream Player

时间:2012-12-27 13:34:51

标签: jquery-plugins jplayer

很抱歉提出这个问题,因为互联网上可能会有一些问题,但是我的网站上没有提出任何解决方案。

我正在尝试使用无线电流广告jPlayer(作为大学项目的一部分)。

我在一个名为functions.js的文件中包含了JavaScript-jQuery jQuery部分:

// Reproductor de audio

$(document).ready(function(){

var stream = {
    title: "Postaway Radio",
    mp3: "http://listen.radionomy.com/1-PostawayRadio"
},
ready = false;

$("#jquery_jplayer_1").jPlayer({
    ready: function (event) {

        ready = true;
        $(this).jPlayer("setMedia", stream);
    },
    pause: function() {
        $(this).jPlayer("clearMedia");
    },
    error: function(event) {
        if(ready && event.jPlayer.error.type === $.jPlayer.error.URL_NOT_SET) {
            $(this).jPlayer("setMedia", stream).jPlayer("play");
        }
    },
    swfPath: "js",
    supplied: "mp3",
    preload: "none",
        wmode: "window"
});

});

这是文本的HTML部分:

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

        <div id="jp_container_1" class="jp-audio-stream">
            <div class="jp-type-single">
                <div class="jp-gui jp-interface">
                    <ul class="jp-controls">
                        <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>
                        <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
                    </ul>
                    <div class="jp-volume-bar">
                        <div class="jp-volume-bar-value"></div>
                    </div>
                </div>
                <div class="jp-title">
                    <ul>
                        <li>Postaway Radio</li>
                    </ul>
                </div>
                <div class="jp-no-solution">
                    <span>Update Required</span>
                    To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
                </div>
            </div>
        </div>

我试着玩它而根本不起作用。我在FireZilla中收到此错误:

 TypeError: $("#jquery_jplayer_1").jPlayer is not a function

Chrome控制台会抛出此错误:

Uncaught TypeError: Object [object Object] has no method 'jPlayer' 
(anonymous function) functions.js:11
l jquery-1.8.3.min.js:2
c.fireWith jquery-1.8.3.min.js:2
v.extend.ready jquery-1.8.3.min.js:2
A

并指出这一行是问题所在:

`enter code here`$("#jquery_jplayer_1").jPlayer({

另一个jQuery。

但我无法找到问题所在。

我下载了一个jPlayer演示,代码类似 - 与我的相同,但它有效,而不是我的网页。还看了开发人员(jPlayer),找不到解决方案。

有人可以帮我吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您可能没有包含jplayer库。再次检查演示,看看你是否正确加载了jplayer js文件。并在Google Chrome中查看控制台。

您使用的浏览器。如果浏览器不支持html5,它将加载flash播放器,但也许swf文件的地址不好。这是在参数swfPath中设置的:“js”

试试这个:

$player = $("#jquery_jplayer_1")
jPlayer_method = $player.jPlayer
$player.jPlayer({
    ready: function () {
           jPlayer_method.call( $player, "setMedia", {
                                       [...same as before...]

答案 1 :(得分:0)

如果像我一样在2018年或之后仍在使用它,请确保先加载jquery库,然后再加载jplayer.min.js文件。