#201 listen to current couplet

This commit is contained in:
Hamid Reza Mohammadi 2021-09-10 08:49:07 +04:30
parent 6bf49865dd
commit 7b5c531885
3 changed files with 53 additions and 3 deletions

View File

@ -2,6 +2,7 @@
@{
Layout = null;
}
<a role="button" style="cursor: pointer; width: 100%; color: white; background-color: #300; display: block; text-align: center; border-color: #300 " onclick="playCouplet(@Model.CoupletIndex)">بشنوید</a>
<div id="comments-block-@Model.CoupletIndex">
@foreach (var comment in Model.Comments)
{

View File

@ -8,8 +8,8 @@
},
"AllowedHosts": "*",
"GoogleAnalyticsCode": "",
"APIRoot": "http://localhost:3439",
"GlobalAPIRoot": "http://localhost:3439",
"APIRoot": "https://ganjgah.ir",
"GlobalAPIRoot": "https://ganjgah.ir",
"SiteUrl": "http://localhost:33081",
"ReadOnlyMode": "False"
}

View File

@ -205,6 +205,7 @@ function hilightverse(vnum, clr, sc, forceScroll) {
}
var audioxmlfiles = [];
var jlist;
function addpaudio(index, jplaylist, xmlfilename, poemtitle, auartist, oggurl, mp3url) {
audioxmlfiles[index] = xmlfilename;
jplaylist.add({
@ -223,7 +224,7 @@ function prepaudio(xmlfilename, poemtitle, auartist, oggurl, mp3url) {
audioxmlfiles[0] = xmlfilename;
var jlist = new jPlayerPlaylist({
jlist = new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
}, [
@ -298,3 +299,51 @@ function prepaudio(xmlfilename, poemtitle, auartist, oggurl, mp3url) {
}
function playCouplet(coupletIndex) {
var tagname = "*";
var all = document.getElementsByTagName(tagname);
var msr1s = [];
for (var i = 0; i < all.length; i++) {
var element = all[i];
if (isMember(element, "m1") || isMember(element, "m2") || isMember(element, "b2") || isMember(element, "n") || isMember(element, "l"))
msr1s.push(element);
}
if ((msr1s.length - 1) < coupletIndex) return;
var cIndex = -1;
var vIndex = -1;
for (var i = 0; i < msr1s.length; ++i) {
if (msr1s[i].className != "m2") {
cIndex++;
if (cIndex == coupletIndex) {
vIndex = i;
break;
}
}
}
if (audioxmlfiles.length > 0) {
$.ajax({
type: "GET",
url: audioxmlfiles[jlist.current],
dataType: "xml",
success: function (xml) {
var nOneSecondBugFix = 2000;
$(xml).find('OneSecondBugFix').each(function () {
nOneSecondBugFix = parseInt($(xml).find('OneSecondBugFix').text());
});
$(xml).find('SyncInfo').each(function () {
var v = parseInt($(this).find('VerseOrder').text())
if (v == vIndex) {
var verseStart = parseInt($(this).find('AudioMiliseconds').text()) / nOneSecondBugFix;
setTimeout(function () {
$(jlist.cssSelector.jPlayer).jPlayer("play", verseStart);
}, 100);
}
v++;
});
}
});
}
}