使用jquery+&书信电报;音频>;使用w/php/mysql循环播放时间

使用jquery+&书信电报;音频>;使用w/php/mysql循环播放时间,php,jquery,mysql,audio,iframe,Php,Jquery,Mysql,Audio,Iframe,我有一个带有iframe的页面。iframe使用jquery.scrollTo检测音频播放时间,并将内容(例如歌词)链接到音频中的正确点 每行文本都是从mysql表中提取的。我试图做的是允许用户单击中的一行,并在此时播放父页面中的音频。下面是获取时间的代码,它位于处理其他音频函数的jquery之后: <?php include 'mysqlt.php'; $entries=mysql_query("SELECT * FROM `database`.`table`") or die(mysq

我有一个带有
iframe
的页面。iframe使用
jquery.scrollTo
检测音频播放时间,并将内容(例如歌词)链接到音频中的正确点

每行文本都是从mysql表中提取的。我试图做的是允许用户单击
中的一行,并在此时播放父页面中的音频。下面是获取时间的代码,它位于处理其他音频函数的jquery之后:

<?php
include 'mysqlt.php';
$entries=mysql_query("SELECT * FROM `database`.`table`") or die(mysql_error()); 
while ($ent = mysql_fetch_object($entries)) {
$segment = $ent->index;
$starttime = $ent->time;
$nextline = $ent->time2;
$length = ($nextline - $starttime); ?>
第二部分循环,对iframe中可以单击的每个潜在行进行一次回显<代码>#iframe中的按钮在第23行结束时类似于
#iframe23中的按钮

我已经在父级和iframe中加载了jquery。据我所知,语法应该是这样的。如果我删除这段代码,一切正常。如果它在那里,我设置的正常控件上的基本音频功能将停止工作。因此,这不仅不起作用,而且导致与音频标签控件相关的所有其他功能也停止工作。我知道audio控件的jquery中的任何小错误都足以使它停止工作,但在这种情况下,我不确定问题出在哪里

提前感谢任何人可能提供的任何见解

更新: 我得到了它,这样它就不会再破坏音频标签了。现在更多的是iframe的项不触发事件的问题。下面是代码:

$('#iframe_id').contents().find("button.loop2").bind("click", function() {
    alert ("test");
    }); 

我没有得到任何控制台错误,除了谷歌地图嵌入在另一个位置的页面。当我在iframe中单击带有类
loop2
时(所有这些都存在),什么都没有发生。这似乎是问题的根源,就像之前一样。

使用媒体提示有效吗

例如:

var sfx = new Audio('sfx.wav');
var sounds = a.addTextTrack('metadata');

// add sounds we care about
sounds.addCue(new TextTrackCue('dog bark', 12.783, 13.612, '', '', '', true));
sounds.addCue(new TextTrackCue('kitten mew', 13.612, 15.091, '', '', '', true));

function playSound(id) {
  sfx.currentTime = sounds.getCueById(id).startTime;
  sfx.play();
}
你可以在这里找到更好的规范定义-

因此,在您的情况下,可能类似于:

$("#iframe_id").contents().find("#button_in_iframe<?php echo $segment;?>").bind("click", function(){
        sounds.addCue(new TextTrackCue('<?php echo $segment; ?>', <?php echo $starttime; ?>, <?php echo ($starttime + $length); ?>, '', '', '', true));
        var id = '<?php echo $segment; ?>';
        sfx.currentTime = sounds.getCueById(id).startTime;
        sfx.play();
    }
$(“#iframe_id”).contents().find(“#iframe中的#按钮”).bind(“单击”,函数()){
sounds.addCue(新文本跟踪提示(“”,“”,“”,“”,“”,true));
变量id=“”;
sfx.currentTime=sounds.getCueById(id).startTime;
sfx.play();
}
或者将逻辑分成两个循环。一个用于构建提示,另一个用于构建/绑定点击事件


希望这有帮助!

我找到了方法。我已将父级上的循环设置为如下所示:

play<?php echo $segment; ?> = function(){
        sfx.currentTime = sounds.getCueById(id).startTime;
        sfx.play();
    };
play=function(){
sfx.currentTime=sounds.getCueById(id).startTime;
sfx.play();
};
然后在iframe的页面中,我告诉每个按钮调用
parent.play();

我不确定为什么在iframe中查找标记不起作用,但没关系。这就是完成的工作


谢谢shanabus的建议。

这篇文章的输出是什么样子的?
currentTime=;
还有控制台错误吗?currentTime以0.0、6.7、13.2等数字结尾。我得到的错误是通过google maps iframe存在不安全的javascript,我已经删除了它。现在没有错误了ven.eh?您的音频脚本失败是因为google maps iframe错误?这是一个诡计问题吗?不是。我说我收到的唯一错误来自google maps,然后我将其删除,所以现在原始问题保持不变,但控制台显示没有错误。简单地说,在iframe中单击button.loop2时不会发生任何事情。现在没有erROR已给出。谢谢。这可能是我最终想要做的。虽然要使其工作,
警报(“测试”)
也需要工作,但现在它还没有工作。现在的问题似乎是iframe的按钮/链接/etc没有触发父级中的jquery事件。
play<?php echo $segment; ?> = function(){
        sfx.currentTime = sounds.getCueById(id).startTime;
        sfx.play();
    };