1

JavaScript でのビデオ プレーヤーの実装に関して、比較的単純な問題が発生していると思います。まず、文字列を配列に追加し、その最初の文字列エントリをビデオ タグ内のソースの src として参照します。次に、src を受信したらビデオの再生を開始します。

前者をまだ通過していないため、後者のコードは実装していません。src を変更した後に .load() 関数呼び出しを参照する人を見たことがありますが、最初から src を正しく設定しているかどうかはわかりません。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>

<style>

video
{
    background-color:#333;
}

</style>

</head>

<body>

<script type="text/javascript">
var width = (1280 * 0.1);
var height = (720 * 0.1);
var resized = false;

function getWidth(){
    return width;
}

function getHeight(){
    return height;
}


//Create array. Checkbox adds video to list.
//"Submit" button gives first video in list to player.

var videoList = new Array();
var i = 0; //incrementer

//Use checkbox's value as argument
function addVideo(value){
    videoList[i] = value;
    i++;
}

function videoSubmit(){
    document.getElementById("player").setAttribute("src", videoList[i]);
}

</script>

<video id="test" width="getWidth()" height="getHeight()">
<source id="player" src="null" type="video/avi" width="getWidth()"     height="getHeight()"/>

</video>
<br/>

<form id="selector" action="">
<input type="checkbox" name="firstvideo" value="test.avi" onClick="addVideo(test.avi)"/> sample 1.avi<br/>

</form>

<button onClick="videoSubmit()"> Submit</button>


</body>
</html>

私はjavascriptにかなり慣れていないので、まだ頭を抱えようとしています。役立つ情報は大歓迎です。

4

2 に答える 2

2

iの値が間違っているようです。試す:

function videoSubmit(){
    document.getElementById("player").setAttribute("src", videoList[ i - 1 ]);
}

他にもいくつかの問題があります。これが修正版です - お楽しみください:

http://jsfiddle.net/mrSYC/

別の問題:

あなたはこれを行うことはできません:

<video id="test" width="getWidth()" height="getHeight()">

これらの属性をプログラムで設定する場合は、src 属性の場合と同じ方法で設定する必要があります。時々、この種の構文が表示されますが、これは扱いにくいものです。

<script>document.write('<video id="test" width="' + getWidth() + '" ...')</script>

Q とは関係ありません - jquery に直接ジャンプすることで、多くの JavaScript 学習の苦痛をスキップできます。ページ読み込みのペナルティが発生しますが、純粋な JavaScript の多くの煩わしさを解消します。昔ながらの方法でそれを行うことで、「貴重な経験」が得られます。

http://jquery.com/

于 2012-06-21T14:32:29.423 に答える
0

ここでは追加の要素は必要なく、source単に要素のsrc属性を対象にすることができvideoます。

次のようなものです:

document.getElementById('test').src = videoList[i];

する必要があるのはこれだけです ( の値がvideoList[i]ビデオ ファイルへの有効な URL であり、問​​題のブラウザーがそれを再生できると仮定します)。

于 2012-06-21T16:31:55.353 に答える