很抱歉问这个问题,因为它可能会在互联网上被问过几次,但没有一个提议的解决方案在我的网站上有效。

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

我在名为 functions.js 的文件中包含了 jPlayer 的 JavaScript - 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)并没有找到解决方案。

有人可以帮我吗?

谢谢你的帮助

最佳答案

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

以及您使用哪种浏览器。如果浏览器不支持html5,它会加载flash player,但可能是swf 文件的地址不好。这是在这个参数中设置的 swfPath: "js"

试试这个:

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

关于jquery-plugins - jPlayer 不是函数错误 - Stream Player,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14055579/

10-11 18:43