Former-commit-id: a489ea4ad30e3c11c37b6eb585cf38ac2c440063
TangShanKaiPing
wanggang 6 years ago
parent 07e314b0c8
commit 673113233b

@ -33,7 +33,7 @@ namespace Application.Domain.Entities
public string Template { get; set; } public string Template { get; set; }
[Display(Name = "标记")] [Display(Name = "标记")]
public string Tag { get; set; } public string MobileTemplate { get; set; }
[Display(Name = "序号")] [Display(Name = "序号")]
public int DisplayOrder { get; set; } public int DisplayOrder { get; set; }

Binary file not shown.

@ -83,7 +83,7 @@
axios.post(url) axios.post(url)
.then(function (response) { .then(function (response) {
console.log(response); console.log(response);
window.location.href = "login.html"; location.href = "login.html";
}) })
.catch(function (error) { .catch(function (error) {
app.dialog.alert(error, '警告', function () { }) app.dialog.alert(error, '警告', function () { })

@ -39,7 +39,7 @@
</div> </div>
<div class="card-content"> <div class="card-content">
<div style="width:100%;height:186px;margin:0;padding:0;background:#000;text-align:center;"> <div style="width:100%;height:186px;margin:0;padding:0;background:#000;text-align:center;">
<video id="video" class="video" controls autoplay muted style="width:100%;max-width:100%;height:100%;" v-on:volumechange="VolumeChange($event)"></video> <video id="liveVideo" class="video" controls autoplay muted style="width:100%;max-width:100%;height:100%;" v-on:volumechange="VolumeChange($event)"></video>
</div> </div>
</div> </div>
</div> </div>
@ -157,7 +157,7 @@
} }
function loadTemplate() { function loadTemplate() {
var url = server + '/IoTCenter/App/GetTemplate?template=' + data.Template; var url = server + '/IoTCenter/App/GetTemplate?template=' + data.MobileTemplate;
axios.post(url, { crossDomain: true }) axios.post(url, { crossDomain: true })
.then(function (response) { .then(function (response) {
var html = response.data; var html = response.data;
@ -258,7 +258,7 @@
} }
</script> </script>
<script> <script>
var flvPlayer; var livePlayer;
var timer; var timer;
var decodedFrames; var decodedFrames;
var muted = true; var muted = true;
@ -268,10 +268,30 @@
}); });
function UpdateCamera() { function UpdateCamera() {
var number = $('#camera').val(); var number = $('#camera').val();
var video = document.getElementById("liveVideo");
if (number) { if (number) {
closePlayer(flvPlayer); if (flvjs.isSupported) {
playFlv(document.getElementById("video")); console.log('flv support');
playFlv(video);
}
else {
playHls(video);
}
}
}
function playHls(videoElement) {
var number = $('#camera').val();
var device = Enumerable.from(vm.model.Devices).where(function (o) { return o.Number === number; }).firstOrDefault();
var url = Enumerable.from(device.Data).where(o => o.Name === '子码流hls').firstOrDefault().Value;
var hasPtz = Enumerable.from(device.Data).where(o => o.Name === '缩放支持').firstOrDefault();
if (hasPtz && hasPtz.Value === '是') {
$('#ptz').show();
} }
else {
$('#ptz').hide();
}
video.src = url;
} }
function playFlv(videoElement) { function playFlv(videoElement) {
var number = $('#camera').val(); var number = $('#camera').val();
@ -285,9 +305,9 @@
else { else {
$('#ptz').hide(); $('#ptz').hide();
} }
closePlayer(flvPlayer); closePlayer(livePlayer);
try { try {
flvPlayer = flvjs.createPlayer({ livePlayer = flvjs.createPlayer({
type: 'flv', type: 'flv',
url: url, url: url,
isLive: true, isLive: true,
@ -298,53 +318,51 @@
stashInitialSize: 1, stashInitialSize: 1,
fixAudioTimestampGap: false fixAudioTimestampGap: false
}); });
flvPlayer.attachMediaElement(videoElement); livePlayer.attachMediaElement(videoElement);
flvPlayer.load(); livePlayer.load();
flvPlayer.volume = volume; livePlayer.volume = volume;
flvPlayer.muted = muted; livePlayer.muted = muted;
timer = setInterval(function () { timer = setInterval(function () {
console.log('.'); console.log('.');
if (flvPlayer.statisticsInfo.speed == 0) { if (livePlayer.statisticsInfo.speed == 0) {
console.log('reload1'); console.log('reload1');
clearInterval(timer); clearInterval(timer);
closePlayer(flvPlayer);
playFlv(videoElement); playFlv(videoElement);
} }
else if (decodedFrames && flvPlayer.statisticsInfo.decodedFrames <= decodedFrames) { else if (decodedFrames && livePlayer.statisticsInfo.decodedFrames <= decodedFrames) {
console.log('reload2'); console.log('reload2');
clearInterval(timer); clearInterval(timer);
closePlayer(flvPlayer);
playFlv(videoElement); playFlv(videoElement);
} }
else if (flvPlayer.buffered.end(0) - flvPlayer.currentTime > 1) { else if (livePlayer.buffered.end(0) - livePlayer.currentTime > 1) {
console.log('reset currentTime'); console.log('reset currentTime');
flvPlayer.currentTime = flvPlayer.buffered.end(0) - 0.001; livePlayer.currentTime = livePlayer.buffered.end(0) - 0.001;
} }
decodedFrames = flvPlayer.statisticsInfo.decodedFrames; decodedFrames = livePlayer.statisticsInfo.decodedFrames;
}, 10 * 1000); }, 10 * 1000);
} catch (e) { } catch (e) {
console.log(e); console.log(e);
} }
} }
} }
function closePlayer(flvPlayer) { function closePlayer(livePlayer) {
if (timer) { if (timer) {
clearInterval(timer); clearInterval(timer);
} }
if (flvPlayer != null) { if (livePlayer != null) {
try { try {
flvPlayer.pause(); livePlayer.pause();
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }
flvPlayer.unload(); livePlayer.unload();
flvPlayer.detachMediaElement(); livePlayer.detachMediaElement();
try { try {
flvPlayer.destroy(); livePlayer.destroy();
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }
flvPlayer = null; livePlayer = null;
} }
} }
function ajax(url, data, type) { function ajax(url, data, type) {

@ -108,7 +108,7 @@
}, },
logout: function () { logout: function () {
localStorage.removeItem("token"); localStorage.removeItem("token");
window.location.href = "login.html"; location.href = "login.html";
} }
} }
}) })

@ -71,8 +71,7 @@ namespace IoTNode
Name = "½Úµã", Name = "½Úµã",
Number = cpuid, Number = cpuid,
Image = "/images/classroom.png", Image = "/images/classroom.png",
Type = "智慧教室", Type = "智慧教室"
Template = "node.html"
}); });
dbContext.SaveChanges(); dbContext.SaveChanges();
base.Seed(dbContext, serviceProvider, configuration); base.Seed(dbContext, serviceProvider, configuration);

Binary file not shown.
Loading…
Cancel
Save