问题
I have this stream from http://www.tpai.tv/live but as you can see now, its down, i need to check if stream is playing and if not to play other thing.
This is the streaming code:
<base href="http://www.jet7angola.com/entretenimento/tpa-internacional-online-directo.html">
<script src="http://www.jet7angola.com/tpa/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="/tpai/jquery-blink.js+jquery.mousewheel.js+jquery.rollover.js+jquery.jscrollpane.min.js+jquery.tools.min.js+jquery.fancybox-1.3.4.pack.js.pagespeed.jc.UjuzPwaNVv.js"></script>
<script>eval(mod_pagespeed_68xhNxTuZL);</script>
<script>eval(mod_pagespeed_20IR7GdmNb);</script>
<script>eval(mod_pagespeed_Bj_7y8YV5J);</script>
<script>eval(mod_pagespeed_kvFbwG5fFn);</script>
<script>eval(mod_pagespeed_5Z2gomwGm9);</script>
<script>eval(mod_pagespeed_u84aD23v_6);</script>
<script src="/tpai/jwplayer.js.pagespeed.jm.KvxnOnM4Zh.js" type="text/javascript"></script>
<script src="/tpai/swfobject.js+common.js.pagespeed.jc.nCJR8-Q7ly.js"></script>
<script>eval(mod_pagespeed_4NJ4whyEXd);</script>
<script>eval(mod_pagespeed_LzOFG2pWFp);</script>
<div align="justify" id="livemedia" style="width: 621px; height: 384px;">
<script type="text/javascript">
jwplayer("livemedia").setup({"skin":"http://www.tpai.tv/swf/jwplayer/skins/nacht/nacht.zip","id":"livemediaplayer","autostart":"true","rtmp.subscribe":"true","file":"http://www.tpai.tv/tpai_rtmp_dynamic_streaming.xml","controlbar":"none","volume":100,"width":"100%","height":"100%","modes":[{type:"flash",src:"http://www.tpai.tv/swf/jwplayer/player.swf"}]});
</script>
</div>
Updated...
<div align="justify" id="livemedia" style="width: 621px; height: 384px;">
<script type="text/javascript">
.onReady(function(){
if(this.getState() == "playing"){
jwplayer("livemedia").setup({"skin":"http://www.tpai.tv/swf/jwplayer/skins/nacht/nacht.zip","id":"livemediaplayer","autostart":"true","rtmp.subscribe":"true","file":"http://www.tpai.tv/tpai_rtmp_dynamic_streaming.xml","controlbar":"none","volume":100,"width":"100%","height":"100%","modes":[{type:"flash",src:"http://www.tpai.tv/swf/jwplayer/player.swf"}]});
} else {
<embed style="vertical-align: middle;width:100%;height:100%;" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://www.rtp.pt/play/player.swf?v3" id="obj_player_prog" name="obj_player_prog" quality="high" allowfullscreen="true" wmode="opaque" allowscriptaccess="always" allownetworking="all" class="embed-responsive-item" flashvars="streamer=rtmp://rtppullswflivefs.fplive.net/rtppullswflive-live&file=2ch27h264&image=undefined&controlbar=over&skin=http://www.rtp.pt/swfjs/skin/fk.zip&autostart=true&plugins=http://programas.rtp.pt/play/ova-jw-play.swf,timeslidertooltipplugin-3&stretching=exactfit&config=http://www.rtp.pt/services/rtpplay/pub/config_page_play/566651108/rtp-play/direto/canais-tv/rtpafrica&abouttext=© RTP.PT&screencolor=0x000000&aboutlink=http://www.rtp.pt/">
}
});
</script>
</div>
回答1:
You'll want to use getState()
which returns the player's current playback state:
jwplayer("livemedia").setup({
// Setup parameters
}).onReady(function(){
if(this.getState() == "playing"){
// WOO HOO: (Don't cross the streams!)
} else {
//THE STREAM IS DOWN!
}
});
The available options are:
- idle: either playback has not started or playback was stopped (due to a stop() call or an error). Either the play or the error icon is visible in the display.
- buffering: user pressed play, but sufficient data to start playback has to be loaded first. The buffering icon is visible in the display.
- playing: the video is currently playing. No icon is visible in the display.
- paused: the video is currently paused. The play icon is visible in the display.
API reference:
Have a look at the jwplayer API Reference here:
https://support.jwplayer.com/customer/portal/articles/1413089-javascript-api-reference#playback
来源:https://stackoverflow.com/questions/36059309/check-if-video-is-streaming