++index.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Author" content="">
  6. <meta name="Keywords" content="">
  7. <meta name="Description" content="">
  8. <meta http-equiv="X-UA-Compatible"content="IE=edge">
  9. <meta content="telephone=no" name="format-detection" />
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
  11. <title>{$liveinfo['title']|default=$config['sitename']}</title>
  12. <link rel="stylesheet" type="text/css" href="__STATIC__/appapi/share/css/iconfont.css">
  13. <link rel="stylesheet" type="text/css" href="__STATIC__/appapi/share/css/style.css">
  14. <link href="__STATIC__/appapi/share/css/video-js.min.css" rel="stylesheet">
  15. <script type="text/javascript" src="__STATIC__/appapi/share/js/jquery-1.10.1.min.js"></script>
  16. <script type="text/javascript">
  17. var room_id = '{$liveinfo['stream']}';
  18. var to_uid = '{$liveinfo['uid']}';
  19. //var User = {$userinfoj};
  20. var User = {};
  21. var isiPad = /iPad/i.test(navigator.userAgent);
  22. var isiPhone = /iPhone|iPod/i.test(navigator.userAgent);
  23. var isAndroid = /Android/i.test(navigator.userAgent);
  24. var isWeixin = /MicroMessenger/i.test(navigator.userAgent);
  25. var isQQ = /QQ/i.test(navigator.userAgent);
  26. var isIOS = (isiPad || isiPhone);
  27. var isWeibo = /Weibo/i.test(navigator.userAgent);
  28. var isApp = (isAndroid || isIOS);
  29. var videosrc='{$hls}';
  30. var myPlayer;
  31. var h=window.screen.height;
  32. var videotimer='',request='';
  33. $(function(){
  34. videotimer=setTimeout("connectChange()", 1000);
  35. });
  36. function connectChange(){
  37. myPlayer = videojs("videoHLS");
  38. if(videosrc){
  39. $("#videoPlay").show();
  40. var div='<button id="play"><img src="__STATIC__/appapi/share/images/play.png" width="61"></button>';
  41. $("#top_box").append(div);
  42. $("#state").hide();
  43. myPlayer.height(h);
  44. myPlayer.show()
  45. $("#top_box").show();
  46. }else{
  47. $("#videoPlay").hide();
  48. $("#play").remove();
  49. $("#state").show();
  50. $("#top_box").hide();
  51. $(".jw-preview").show();
  52. clearInterval(videotimer);
  53. return !1;
  54. }
  55. //开始或恢复播放
  56. myPlayer.on('play', function() {
  57. //myPlayer.height(h);
  58. $("#top_box").hide();
  59. $(".jw-preview").hide();
  60. });
  61. // 暂停播放
  62. myPlayer.on('pause', function() {
  63. $("#top_box").show();
  64. });
  65. }
  66. </script>
  67. </head>
  68. <body>
  69. <!--视频-->
  70. <section class="section1">
  71. <article class="jwplayer jw-reset jw-stretch-fill">
  72. <div class="jw-media jw-reset">
  73. <div id="videoPlay" style="width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;">
  74. <video id="videoHLS" class="video-js vjs-big-play-centered" style="width:100%;" data-setup="{'preload': 'auto'}" webkit-playsinline playsinline x-webkit-airplay="true" x5-video-player-type="h5" x5-video-player-fullscreen="true" poster="">
  75. <source src="{$hls}" type="application/x-mpegURL">
  76. </video>
  77. </div>
  78. <div id="state" style="text-align:center;line-height:40px;position:absolute;top:35%;z-index:11;color:#fff;padding:20px;display:none;">
  79. <h2></h2>
  80. </div>
  81. <div class="jw-preview jw-reset" style="background-image: url('{$videoinfo['thumb']}')"></div>
  82. </div>
  83. </article>
  84. <article class="section1_box" id="section1_box">
  85. <header class="header clearfix">
  86. <div class="clearfix">
  87. <div class="userinfo">
  88. <img src="{$liveinfo['avatar_thumb']}" userid="{$liveinfo['id']}">
  89. <span class="ulive">{$liveinfo['user_nicename']}</span>
  90. <span class="unum">ID:{$liveinfo['id']}</span>
  91. </div>
  92. <div class="userimg" id="userimg">
  93. <ul class="userpic clearfix" id="userpic"></ul>
  94. </div>
  95. </div>
  96. </header>
  97. <article id="heart"><canvas id="canvas"></canvas></article>
  98. <article id="top_box" style="display: none;">
  99. <!-- <button id="play"><img src="__STATIC__/appapi/share/images/play.png" width="61"></button> -->
  100. </article>
  101. </article>
  102. <section class="touchbox" id="touchbox"></section>
  103. <!-- 下载 -->
  104. <div class="down-bottom" onclick="downurl()">
  105. <img src="__STATIC__/appapi/share/images/down.png">
  106. </div>
  107. </section>
  108. <!--视频-->
  109. <script type="text/javascript" src="__STATIC__/appapi/share/js/video.js"></script>
  110. <script type="text/javascript" src="__STATIC__/appapi/share/js/videojs-contrib-hls.js"></script>
  111. <script type="text/javascript" src="__STATIC__/appapi/share/js/common.js"></script>
  112. <script type="text/javascript">
  113. var mode = 1;//代表手机直播手机观看
  114. function downurl(){
  115. var href='';
  116. if(isIOS){
  117. href="{$site_info['app_ios']}";
  118. }else{
  119. href="{$site_info['app_android']}";
  120. }
  121. location.href=href;
  122. return !1;
  123. }
  124. //点击播放按钮
  125. $(document).on("click","#play",function(){
  126. var objbtn=$(this);
  127. Ctrfn.play(objbtn);
  128. })
  129. </script>
  130. </body>
  131. </html>