很抱歉问这个问题,因为互联网上可能会有人问这个问题,但是我的网站上没有一个建议的解决方案。
我正在尝试用广播流广告一个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库。再次检查demo,看看是否正确加载了jplayerjs文件。并检查控制台在谷歌浏览器。
你用哪个浏览器?如果浏览器不支持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...]
如果您像我一样在2018年或之后仍在使用它,请确保首先加载jquery库,然后加载jplayer.min.js文件。