ZZJ
2022-07-15 5c0c6ad7ac6f28e970532af9936de638830f1161
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>WASM TEST</title>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <meta name="apple-touch-fullscreen" content="yes" />
    <meta name="format-detection" content="telephone=no, email=no" />
    <link rel="stylesheet" href="styles/style.css" />
  </head>
  <body>
    <div class="container" id="videoPlayer">
      <div class="sideBar">
        <span class="no-padding">
          <img
            src="img/home.png"
            class="left"
            id="btnHome"
            title="Visit My Homepage"
            onclick="window.open('https://blog.csdn.net/sonysuqin')"
          />
        </span>
        <div id="input">
          <select id="protocol" onchange="onSelectProto()">
            <option value="h265_high">h265_high</option>
            <option value="basicH265">h265_basic</option>
            <option value="basicH264">h264</option>
            <option value="h265_stream">h265_stream</option>
            <option value="h264_stream">h264_stream</option>
          </select>
          <input type="text" id="inputUrl" style="width:300px" />
        </div>
      </div>
      <div class="canvasDiv">
        <div class="loadEffect" id="loading" style="display:none;">
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </div>
        <canvas id="playCanvas" width="852" height="480"></canvas>
      </div>
      <div class="sideBar">
        <span class="no-padding">
          <img
            src="img/play.png"
            class="left"
            id="btnPlayVideo"
            onclick="OnBnClickedPlayVideo()"
          />
        </span>
        <span class="no-padding" style=" padding-left:5px;">
          <img
            src="img/stop.png"
            class="left"
            id="btnStopVideo"
            onclick="OnBnClickedStopVideo()"
          />
        </span>
        <span class="track-padding"></span>
        <span class="no-padding">
          <input id="timeTrack" type="range" value="0" />
        </span>
        <span class="no-padding" style=" padding-left:10px;">
          <label id="timeLabel">00:00:00/00:00:00</label>
        </span>
        <span class="no-padding right">
          <img
            src="img/fullscreen.png"
            class="right"
            id="btnFullscreen"
            onclick="OnBnClickedFullscreen()"
          />
        </span>
      </div>
    </div>
 
    <script type="text/javascript" src="pcm-player.js"></script>
    <script type="text/javascript" src="webgl.js"></script>
    <script type="text/javascript" src="player.js"></script>
 
    <script type="text/javascript">
      var defaultProtos = {
        h265_high: { url: 'video/h265_high.mp4', stream: false },
        basicH265: { url: 'video/smart-ai-h265.mp4', stream: false },
        basicH264: { url: 'video/smart-ai-h264.mp4', stream: false },
        h265_stream: { url: 'h265', stream: true },
        h264_stream: { url: 'h264', stream: true },
      }
      document.getElementById('inputUrl').value =
        defaultProtos['h265_high']['url']
 
      self.PlayObj = new Player()
 
      function OnBnClickedPlayVideo() {
        var button = document.getElementById('btnPlayVideo')
        if (self.PlayObj.hPlayer == 0 || self.PlayObj.PlayOrPause == 0)
          button.src = 'img/pause.png'
        else button.src = 'img/play.png'
 
        if (self.PlayObj.hPlayer == 0) {
          var protoList = document.getElementById('protocol')
          self.PlayObj.play(
            document.getElementById('inputUrl').value,
            document.getElementById('playCanvas'),
            defaultProtos[protoList.options[protoList.selectedIndex].value]
              .stream,
            document.getElementById('timeTrack'),
            document.getElementById('timeLabel')
          )
        } else if (self.PlayObj.PlayOrPause == 0) self.PlayObj.resume()
        else self.PlayObj.pause()
      }
 
      function OnBnClickedStopVideo() {
        if (self.PlayObj.hPlayer == 0) return
 
        var button = document.getElementById('btnPlayVideo')
        button.value = 'Play'
        button.src = 'img/play.png'
 
        self.PlayObj.stop()
      }
 
      function OnBnClickedFullscreen() {
        self.PlayObj.fullscreen()
      }
 
      function onSelectProto() {
        var protoList = document.getElementById('protocol')
        var proto = protoList.options[protoList.selectedIndex].value
        var protoObj = defaultProtos[proto]
        var inputUrl = document.getElementById('inputUrl')
        inputUrl.value = protoObj['url']
      }
    </script>
  </body>
</html>