0

temporay配列を割り当て、各インデックスをSubtitle配列に渡すためのstart、dur、およびtextを含む字幕XMLファイルがあります。インデックスが0の字幕配列を見たい場合は、start、dur、textを含む最初のテキスト行を印刷する必要がありますが、代わりに最後のテキスト行を印刷します。間違った結果が表示されます、

467.071,3.643、ご覧いただきありがとうございます。購読、評価、コメントをお願いします

インデックス50を試しましたが、それでも最後の行が出力されます。間違ったループに追加しますか?

これがXMLの最初の3行のサンプルです(合計テキスト行は136です)。

<transcript>
<text start="2.014" dur="1.276">Greetings fellow nerds.</text>
<text start="3.291" dur="3.446">In this video we&#39;re going to make glow sticks of various colors</text>
<text start="6.738" dur="2.277">and explain a few interesting points about them.</text>
</transcript> 

ここにjavascriptの例、

<script type="text/javascript">
            function loadXMLDoc(dname)
            {
                if (window.XMLHttpRequest)
                {
                xhttp=new XMLHttpRequest();
                }
                else
                {
                xhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                xhttp.open("GET",dname,false);
                xhttp.send();

                return xhttp.responseXML;
            }

            function init()
            {
                var subtitleArray = new Array();
                var tempArray = new Array();
                var c = document.getElementById('container');

                captionsDoc = loadXMLDoc("captions.xml");
                x=captionsDoc.getElementsByTagName('text');

                for(i=0;i<x.length;i++)
                {
                    tempArray[0] = x[i].getAttribute('start');
                    tempArray[1] = x[i].getAttribute('dur');
                    tempArray[2] = x[i].childNodes[0].nodeValue;

                    subtitleArray[i] = tempArray;

                }


                c.innerHTML = subtitleArray[0];
            }
            window.onload = init;
        </script>
4

0 に答える 0