jPlayer不是函数错误 - Stream Player

问题描述 投票:4回答:2

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

我正在尝试用无线电流广告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)并没有找到解决方案。

有人可以帮帮我吗?

谢谢你的帮助

jquery-plugins jplayer
2个回答
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...]

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.