mirror of
https://github.com/pixeltris/TwitchAdSolutions.git
synced 2024-11-25 11:52:52 +01:00
Remove unused files
This commit is contained in:
parent
3eb915d774
commit
0f7864cdc3
@ -1 +0,0 @@
|
||||
call %WINDIR%\Microsoft.NET\Framework\v4.0.30319\csc.exe -debug utils.cs
|
168
utils.js
168
utils.js
@ -1,168 +0,0 @@
|
||||
var defaultChannel = '';
|
||||
var defaultName = 'test1';
|
||||
var inputWidth = '100px';
|
||||
var playerWidth = '800px';
|
||||
var defaultVolume = 1;
|
||||
//
|
||||
const STATE_STOPPED = 1;
|
||||
const STATE_RECORDING = 2;
|
||||
const STATE_REPLAYING = 3;
|
||||
const STATE_WAITING = 4;
|
||||
var state = STATE_STOPPED;
|
||||
//
|
||||
var channelElement = null;
|
||||
var nameElement = null;
|
||||
var stateInfoElement = null;
|
||||
var streamNormal = null;
|
||||
var streamMini = null;
|
||||
var streamOutput = null;
|
||||
var streamAlt = null;
|
||||
var streams = [];
|
||||
//
|
||||
function updateStateInfo(newState) {
|
||||
if (newState) {
|
||||
state = newState;
|
||||
}
|
||||
if (!streamNormal || !streamMini || !streamOutput || !streamAlt) {
|
||||
return;
|
||||
}
|
||||
var stateStr = '';
|
||||
switch (state) {
|
||||
case STATE_STOPPED: stateStr = 'stopped'; break;
|
||||
case STATE_RECORDING: stateStr = 'recording'; break;
|
||||
case STATE_REPLAYING: stateStr = 'replaying'; break;
|
||||
case STATE_WAITING: stateStr = 'waiting'; break;
|
||||
}
|
||||
stateInfoElement.textContent = ' state: ' + stateStr;
|
||||
}
|
||||
function updateStreamInfo(stream) {
|
||||
stream.InfoElement.textContent = '[' + stream.StreamName + ']';
|
||||
}
|
||||
function setStreamSrc(stream, src) {
|
||||
stream.hls.loadSource('/' + src + '/' + channelElement.value + '|' + nameElement.value);
|
||||
stream.hls.attachMedia(stream);
|
||||
}
|
||||
function recordOrReplayStream(newState, type) {
|
||||
if (!channelElement.value) {
|
||||
alert('Channel name textbox is empty');
|
||||
return;
|
||||
}
|
||||
stopStream();
|
||||
updateStateInfo(STATE_WAITING);
|
||||
fetch('/' + type + '-begin/' + channelElement.value + '|' + nameElement.value).then(async function(response) {
|
||||
if (response.status == 200) {
|
||||
var str = await response.text();
|
||||
if (str) {
|
||||
updateStateInfo(newState);
|
||||
setStreamSrc(streamNormal, 'm3u8_normal');
|
||||
setStreamSrc(streamMini, 'm3u8_mini');
|
||||
setStreamSrc(streamOutput, 'm3u8_output');
|
||||
setStreamSrc(streamAlt, 'm3u8_alt');
|
||||
} else {
|
||||
stopStream();
|
||||
}
|
||||
} else {
|
||||
stopStream();
|
||||
}
|
||||
});
|
||||
}
|
||||
function recordStream() {
|
||||
recordOrReplayStream(STATE_RECORDING, 'record');
|
||||
}
|
||||
function replayStream() {
|
||||
alert('TODO');
|
||||
//recordOrReplayStream(STATE_REPLAYING, 'replay');
|
||||
}
|
||||
function stopStream() {
|
||||
for (var i = 0; i < streams.length; i++) {
|
||||
streams[i].hls.stopLoad();
|
||||
streams[i].pause();
|
||||
}
|
||||
updateStateInfo(STATE_STOPPED);
|
||||
}
|
||||
function createStreamElement(name) {
|
||||
/////////////////////////////////////////
|
||||
var containerElement = document.createElement('div');
|
||||
containerElement.style.display = 'inline-block';
|
||||
containerElement.style.width = 'auto';
|
||||
document.body.appendChild(containerElement);
|
||||
/////////////////////////////////////////
|
||||
var infoElement = document.createElement('span');
|
||||
containerElement.appendChild(infoElement);
|
||||
containerElement.appendChild(document.createElement('br'));
|
||||
/////////////////////////////////////////
|
||||
var stream = document.createElement('video');
|
||||
stream.style.maxWidth = playerWidth;
|
||||
stream.style.width = playerWidth;
|
||||
stream.InfoElement = infoElement;
|
||||
stream.StreamName = name;
|
||||
stream.autoplay = true;
|
||||
stream.volume = defaultVolume;
|
||||
stream.hls = new Hls();
|
||||
containerElement.appendChild(stream);
|
||||
/////////////////////////////////////////
|
||||
streams.push(stream);
|
||||
updateStreamInfo(stream);
|
||||
return stream;
|
||||
}
|
||||
function onHlsLoaded() {
|
||||
/////////////////////////////////////////
|
||||
var label1 = document.createElement('span');
|
||||
label1.textContent = 'channel:';
|
||||
document.body.appendChild(label1);
|
||||
/////////////////////////////////////////
|
||||
channelElement = document.createElement('input');
|
||||
channelElement.value = defaultChannel;
|
||||
channelElement.style.width = inputWidth;
|
||||
document.body.appendChild(channelElement);
|
||||
/////////////////////////////////////////
|
||||
var label2 = document.createElement('span');
|
||||
label2.textContent = 'name:';
|
||||
document.body.appendChild(label2);
|
||||
/////////////////////////////////////////
|
||||
nameElement = document.createElement('input');
|
||||
nameElement.value = defaultName;
|
||||
nameElement.style.width = inputWidth;
|
||||
document.body.appendChild(nameElement);
|
||||
/////////////////////////////////////////
|
||||
var recordBtn = document.createElement('button');
|
||||
recordBtn.textContent = 'record';
|
||||
recordBtn.onclick = recordStream;
|
||||
document.body.appendChild(recordBtn);
|
||||
/////////////////////////////////////////
|
||||
var replayBtn = document.createElement('button');
|
||||
replayBtn.textContent = 'replay';
|
||||
replayBtn.onclick = replayStream;
|
||||
document.body.appendChild(replayBtn);
|
||||
/////////////////////////////////////////
|
||||
var stopBtn = document.createElement('button');
|
||||
stopBtn.textContent = 'stop';
|
||||
stopBtn.onclick = stopStream;
|
||||
document.body.appendChild(stopBtn);
|
||||
/////////////////////////////////////////
|
||||
stateInfoElement = document.createElement('span');
|
||||
document.body.appendChild(stateInfoElement);
|
||||
/////////////////////////////////////////
|
||||
document.body.appendChild(document.createElement('br'));
|
||||
/////////////////////////////////////////
|
||||
streamNormal = createStreamElement('normal');
|
||||
streamMini = createStreamElement('mini');
|
||||
streamOutput = createStreamElement('output');
|
||||
streamAlt = createStreamElement('alt');
|
||||
updateStateInfo();
|
||||
}
|
||||
function onContentLoaded() {
|
||||
var script = document.createElement('script');
|
||||
script.src = 'https://cdn.jsdelivr.net/npm/hls.js@latest';
|
||||
script.onload = function() {
|
||||
onHlsLoaded();
|
||||
};
|
||||
document.head.appendChild(script);
|
||||
}
|
||||
if (document.readyState === 'complete' || document.readyState === 'loaded' || document.readyState === 'interactive') {
|
||||
onContentLoaded();
|
||||
} else {
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
onContentLoaded();
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue
Block a user