recursal/MDN huggingface dataset:
HTMLMediaElement.seekToNextFrame()
==================================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`HTMLMediaElement.seekToNextFrame()`** メソッドは、非同期に現在の再生位置をメディアの次のフレームに進めます。

**警告:** この標準外のメソッドは、フィルタリングや編集などのタスクのためのメディアへの非リアルタイムアクセスに対応している実験プロセスの一部です。
 このメソッドは、予告なしに実装が変更されたり、削除されたりする可能性があるため、実運用コードでは使用しない方がよいでしょう。しかし、このメソッドを使って実験することは可能です。


このメソッドを使用すると、メディアをリアルタイムで実行せずに、動画メディアのフレームにアクセスすることができます。また、タイムコードではなくフレームをシーク単位として使用してメディアにアクセスすることもできます（ただし、目的のフレームに到達するまで一度に 1 フレームずつシークするだけですが）。このメソッドの有益な使用法としては、動画コンテンツのフィルタリングや編集が挙げられます。

このメソッドは、シーク処理が完了したときに 履行ハンドラーが呼び出される `Promise` を即座に返します。さらに、シークが配置されたことを関係者に知らせるために `seeked` イベントが送信されます。メディアが既に最後のフレームにあるためにシークに失敗した場合、`seeked` イベントが発生し、それ以降に `ended` イベントが続いて発生します。

メディア要素に動画がない場合、またはメディアがシーク可能でない場合は、何も起こりません。

構文
--


```js
seekToNextFrame()
```

### 引数

なし。

### 返値

シーク操作が完了したら履行される `Promise` です。

仕様書
---

どの仕様にも属していません。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
HTMLMediaElement.crossOrigin
============================

**`HTMLMediaElement.crossOrigin`** プロパティは、画像等の要素のための CORS 設定です。 詳しくは、 CORS 設定属性を参照してください。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-crossorigin |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* これを定義しているインターフェイスである `HTMLMediaElement`
HTMLMediaElement.defaultMuted
=============================

**`HTMLMediaElement.defaultMuted`** プロパティは、 HTML の `muted` 属性を反映し、メディア要素の音声出力を既定でミュートするかどうかを示します。このプロパティは動的な効果はありません。 音声出力をミュートおよびミュート解除するには、`muted` プロパティを使用してください。

値
-

論理値です。値が `true` の場合、既定で音声出力がミュートされることを意味します。

例
-


```js
const videoEle = document.createElement("video");
videoEle.defaultMuted = true;
console.log(videoEle.outerHTML); // <video muted=""></video>
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-defaultmuted |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 定義している `HTMLMediaElement` インターフェイス
* `HTMLMediaElement.muted`
* `HTMLMediaElement.volume`
HTMLMediaElement: pause イベント
============================

`pause` イベントは、動作の一時停止のリクエストが処理され、動作が一時状態に入ったときに送信されるものであり、メディアが要素の `pause()` の呼び出しを通して一時停止した後が最も一般的です。

イベントは `pause()` メソッドから戻り、メディア要素の `paused` プロパティが `true` に変化した後で一度送信されます。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベントを `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("pause", (event) => {});

onpause = (event) => {};
```

イベント型
-----

一般的な `Event` です。

例
-

これらの例は、 HTMLMediaElement の `pause` イベントにイベントリスナーを追加してから、イベントが発生したことでイベントハンドラーが動作したときにメッセージをポストします。

`addEventListener()` を使用した例:


```js
const video = document.querySelector("video");

video.addEventListener("pause", (event) => {
  console.log(
    "The Boolean paused property is now true. Either the " +
      "pause() method was called or the autoplay attribute was toggled.",
  );
});
```


`onpause` イベントハンドラープロパティを使用した例:


```js
const video = document.querySelector("video");

video.onpause = (event) => {
  console.log(
    "The Boolean paused property is now true. Either the " +
      "pause() method was called or the autoplay attribute was toggled.",
  );
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-media-pause |
| HTML Standard # handler-onpause |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連イベント
------

* HTMLMediaElement `playing` イベント
* HTMLMediaElement `waiting` イベント
* HTMLMediaElement `seeking` イベント
* HTMLMediaElement `seeked` イベント
* HTMLMediaElement `ended` イベント
* HTMLMediaElement `loadedmetadata` イベント
* HTMLMediaElement `loadeddata` イベント
* HTMLMediaElement `canplay` イベント
* HTMLMediaElement `canplaythrough` イベント
* HTMLMediaElement `durationchange` イベント
* HTMLMediaElement `timeupdate` イベント
* HTMLMediaElement `play` イベント
* HTMLMediaElement `pause` イベント
* HTMLMediaElement `ratechange` イベント
* HTMLMediaElement `volumechange` イベント
* HTMLMediaElement `suspend` イベント
* HTMLMediaElement `emptied` イベント
* HTMLMediaElement `stalled` イベント
関連情報
----

* `HTMLAudioElement`
* `HTMLVideoElement`
* `<audio>`
* `<video>`
* `SpeechSynthesisUtterance`
HTMLMediaElement.audioTracks
============================

**`audioTracks`** は `HTMLMediaElement` オブジェクトの読み取り専用プロパティで、メディア要素の音声トラックを表すすべての `AudioTrack` オブジェクトを列挙した `AudioTrackList` オブジェクトを返します。

このメディア要素は、`<audio>` 要素または `<video>` 要素のどちらでもかまいません。

返されたリストは*生きて*います。つまり、トラックがメディア要素に追加、削除されると、リストの内容が動的に変更されます。一度リストへの参照を得れば、新しい音声トラックが追加されたり、既存のものが削除されたりしたときに、その変更を監視することができます。メディア要素のトラックリストの変更を監視する方法については、 AudioTrackList のイベントを参照してください。

値
-

メディア要素に含まれる音声トラックのリストを表す `AudioTrackList` オブジェクト。トラックのリストは、配列記法や、オブジェクトの `getTrackById()` メソッドを使ってアクセスできます。

各トラックは、そのトラックに関する情報を提供する `AudioTrack` オブジェクトによって表されます。

例
-

この例では、特定の要素のすべての音声トラックをミュートしています。

### HTML

HTML で、要素自体を確立します。


```html
<video id="video" src="somevideo.mp4"></video>
```

### JavaScript

JavaScript コードで、動画要素の音声トラックのミュートを処理します。


```js
const video = document.getElementById("video");

for (let i = 0; i < video.audioTracks.length; i += 1) {
  video.audioTracks[i].enabled = false;
}
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-audiotracks-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* これを定義しているインターフェイスである `HTMLMediaElement`
* `<audio>` および `<video>`
* `AudioTrack` および `AudioTrackList`
HTMLMediaElement.autoplay
=========================

**`HTMLMediaElement.autoplay`** プロパティは、 HTML の `autoplay` 属性を反映しています。これは、メディアが中断なく再生できるようになった時点で自動的に再生を開始するかどうかを示します。

ソースが `MediaStream` で `autoplay` プロパティが `true` のメディア要素は、アクティブになると（つまり、`MediaStream.active` が `true` になると）再生を開始します。

**メモ:** 自動的に音声（または音声トラックを含む動画）を再生するサイトは、ユーザーにとって不快な経験になる可能性があるため、可能な限り避けるべきです。 自動再生機能を提供する必要がある場合は、オプトインする必要があります（ユーザーに明確に有効にするよう要求する）。 ただし、自動再生は、ソースが後でユーザーの制御下で設定されるメディア要素を作成するときには便利です。

自動再生、自動再生のブロック、およびユーザーのブラウザーによって自動再生がブロックされた場合の対応方法についての詳細は、メディアおよびウェブオーディオ API の自動再生ガイドを参照してください。

値
-

論理値で、このメディア要素が中断することなく再生できる量のコンテンツを読み込んだらすぐに再生を開始する場合は `true` となります。

**メモ:** ブラウザーによっては、ユーザーに無断でまたはバックグラウンドで破壊的な音声または動画が再生されるのを防ぐために、ユーザーが `autoplay` を無効にすることができるようにしている場合があります。 `autoplay` が実際に再生を開始するとは限りませんので、代わりに `play` イベントを使用してください。

例
-


```html
<video id="video" controls>
  <source
 src="https://player.vimeo.com/external/250688977.sd.mp4?s=d14b1f1a971dde13c79d6e436b88a6a928dfe26b&profile\_id=165" />
</video>
```



```js
// 自動再生を無効化（推奨）
// false が既定値です
document.querySelector("#video").autoplay = false;
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-autoplay |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* これを定義しているインターフェイスである `HTMLMediaElement`
* `<audio>` および `<video>`
HTMLMediaElement.canPlayType()
==============================

`HTMLMediaElement` の **`canPlayType()`** メソッドは、現在のブラウザーが指定された MIME タイプのメディアを再生できるかどうかを報告します。

**メモ:** この機能はウェブワーカーでは利用できません。

構文
--


```js
canPlayType(type)
```

### 引数

`type`

文字列で、メディアの MIME タイプと（オプションで） `codecs` 引数 (en-US)で対応しているコーデックのカンマ区切りのリストで指定します。

### 返値

 メディアを再生できる可能性がどの程度あるかを示す文字列です。
 この文字列は以下の値のいずれかです。

`""` (空文字列)

このメディアは現在の機器では再生できません。

`probably`

このメディアは、おそらくこのデバイスで再生可能です。

`maybe`

メディアが再生可能かどうかを判断するための十分な情報がありません（実際に再生が試みられるまで）。

例
-


```js
let obj = document.createElement("video");
console.log(obj.canPlayType("video/mp4")); // "maybe"
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-navigator-canplaytype-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 定義している `HTMLMediaElement` インターフェイス
* `MediaCapabilities` (en-US) （メディア能力 API）
* ウェブコンテンツのメディア対応に関する問題への対応 (en-US)
* ウェブ上のメディア種別と形式のガイド
* `codecs` 引数 (en-US)
HTMLMediaElement: seeked イベント
=============================

`seeked` イベントは、シーク操作が完了したことで、現在の再生位置が変更され、論理属性の `seeking` が `false` に変更されたときに発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベントを `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("seeked", (event) => {});

onseeked = (event) => {};
```

イベント型
-----

一般的な `Event` です。

例
-

これらの例では、`HTMLMediaElement` の `seeked` イベントにイベントリスナーを追加し、そのイベントハンドラがイベントの発生に反応したときにメッセージを投稿します。

`addEventListener()` を使用する場合


```js
const video = document.querySelector("video");

video.addEventListener("seeked", (event) => {
  console.log("動画が探していた再生位置を見つけました。");
});
```


`onseeked` イベントハンドラープロパティを使用する場合


```js
const video = document.querySelector("video");

video.onseeked = (event) => {
  console.log("動画が探していた再生位置を見つけました。");
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-media-seeked |
| HTML Standard # handler-onseeked |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連イベント
------

* HTMLMediaElement `playing` イベント
* HTMLMediaElement `waiting` イベント
* HTMLMediaElement `seeking` イベント
* HTMLMediaElement `seeked` イベント
* HTMLMediaElement `ended` イベント
* HTMLMediaElement `loadedmetadata` イベント
* HTMLMediaElement `loadeddata` イベント
* HTMLMediaElement `canplay` イベント
* HTMLMediaElement `canplaythrough` イベント
* HTMLMediaElement `durationchange` イベント
* HTMLMediaElement `timeupdate` イベント
* HTMLMediaElement `play` イベント
* HTMLMediaElement `pause` イベント
* HTMLMediaElement `ratechange` イベント
* HTMLMediaElement `volumechange` イベント
* HTMLMediaElement `suspend` イベント
* HTMLMediaElement `emptied` イベント
* HTMLMediaElement `stalled` イベント
関連情報
----

* `HTMLAudioElement`
* `HTMLVideoElement`
* `<audio>`
* `<video>`
HTMLMediaElement.networkState
=============================

**`HTMLMediaElement.networkState`** プロパティは、ネットワークを介したメディアの現在の取得状況を示します。

値
-

`unsigned short` 型。 可能な値は次のとおりです。

| 定数 | 値 | 説明 |
| --- | --- | --- |
| `NETWORK_EMPTY` | 0 | まだデータがありません。 また、`readyState` は `HAVE_NOTHING` です。 |
| `NETWORK_IDLE` | 1 | `HTMLMediaElement` はアクティブで、リソースを選択しましたが、ネットワークを使用していません。 |
| `NETWORK_LOADING` | 2 | ブラウザーは `HTMLMediaElement` のデータをダウンロードしています。 |
| `NETWORK_NO_SOURCE` | 3 | `HTMLMediaElement` の `src` が見つかりません。 |

例
-

この例では、 audio 要素が再生を開始するのを待機してから、まだデータを読み込んでいるかどうかを確認します。


```html
<audio id="example" preload="auto">
  <source src="sound.ogg" type="audio/ogg" />
</audio>
```



```js
const obj = document.getElementById("example");

obj.addEventListener("playing", () => {
  if (obj.networkState === 2) {
    // 読み込み中...
  }
});
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-networkstate-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 定義している `HTMLMediaElement` インターフェイス
HTMLMediaElement.readyState
===========================

**`HTMLMediaElement.readyState`** プロパティは、メディアの準備状態を示します。

値
-

`unsigned short` 型です。 可能な値は次のとおりです。

| 定数 | 値 | 説明 |
| --- | --- | --- |
| `HAVE_NOTHING` | 0 | メディアリソースに関する情報はありません。 |
| `HAVE_METADATA` | 1 | メタデータ属性を初期化するのに十分なメディアリソースが取得されました。 シークならば例外を発生させません。 |
| `HAVE_CURRENT_DATA` | 2 | 現在の再生位置にデータがありますが、実際には複数のフレームを再生するのに十分ではありません。 |
| `HAVE_FUTURE_DATA` | 3 | 現在の再生位置と将来までの少なくともほんの少しの時間のデータが利用可能です（つまり、例えば、少なくとも 2 フレームの動画）。 |
| `HAVE_ENOUGH_DATA` | 4 | 十分なデータが利用可能であり、ダウンロードレートが十分に高いため、メディアを中断することなく最後まで再生できます。 |

例
-

この例では、音声データを読み込むために `example` 要素で待ち受けします。そして、少なくとも現在の再生位置が読み込まれているかどうかをチェックします。読み込まれていれば、音声を再生します。


```html
<audio id="example" preload="auto">
  <source src="sound.ogg" type="audio/ogg" />
</audio>
```



```js
const obj = document.getElementById("example");

obj.addEventListener("loadeddata", () => {
  if (obj.readyState >= 2) {
    obj.play();
  }
});
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-readystate-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 定義している `HTMLMediaElement` インターフェイス
HTMLMediaElement.preservesPitch
===============================

**`HTMLMediaElement.preservesPitch`** プロパティは、 `HTMLMediaElement.playbackRate` の設定で行われた再生速度の変更を補償するために、ブラウザーが音声の音程を調整すべきかどうかを決定します。

値
-

論理値で、既定値は `true` です。

例
-

### preservesPitch プロパティの設定

この例には、 `<audio>` 要素、再生速度を制御する範囲コントロール、`preservesPitch`を設定するチェックボックスがあります。

音声を再生し、再生速度を調整し、チェックボックスを有効・無効にしてみてください。


```html
<audio
 controls
 src="https://mdn.github.io/webaudio-examples/audio-basics/outfoxing.mp3"></audio>

<div>
  <label for="rate">Adjust playback rate:</label>
  <input id="rate" type="range" min="0.25" max="3" step="0.05" value="1" />
</div>

<div>
  <label for="pitch">Preserve pitch:</label>
  <input type="checkbox" id="pitch" name="pitch" checked />
</div>
```


```
div {
  margin: 0.5rem 0;
}
```



```js
const audio = document.querySelector("audio");

const rate = document.querySelector("#rate");
rate.addEventListener("input", () => (audio.playbackRate = rate.value));

const pitch = document.querySelector("#pitch");
pitch.addEventListener("change", () => {
  if ("preservesPitch" in audio) {
    audio.preservesPitch = pitch.checked;
  } else if ("mozPreservesPitch" in audio) {
    //deprecated
    audio.mozPreservesPitch = pitch.checked;
  }
});
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-preservespitch-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `HTMLMediaElement.playbackRate`
* ウェブオーディオの playbackRate の説明 (en-US)
HTMLMediaElement: abort イベント
============================

**`abort`** イベントは、リソースが完全には読み込まれなかったが、それがエラーの結果ではなかった場合に発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("abort", (event) => {});

onabort = (event) => {};
```

イベント型
-----

一般の `Event` です。

例
-


```js
const video = document.querySelector("video");
const videoSrc = "https://example.org/path/to/video.webm";

video.addEventListener("abort", () => {
  console.log(`Abort loading: ${videoSrc}`);
});

const source = document.createElement("source");
source.setAttribute("src", videoSrc);
source.setAttribute("type", "video/webm");

video.appendChild(source);
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-media-abort |
| HTML Standard # handler-onabort |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `HTMLAudioElement`
* `HTMLVideoElement`
* `<audio>`
* `<video>`
HTMLMediaElement: canplay イベント
==============================

`canplay` イベントは、ユーザーエージェントがメディアを再生できるようになったものの、追加のバッファリングのために停止することなくメディアの最後まで再生するには充分なデータが読み込まれていないとみられる場合に発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("canplay", (event) => {});

oncanplay = (event) => {};
```

イベント型
-----

一般の `Event` です。

例
-

これらの例では、HTMLMediaElementの `canplay` イベントにイベントリスナーを追加し、そのイベントハンドラーがイベントの発行に反応したときにメッセージを送信しています。

`addEventListener()` を使用した例:


```js
const video = document.querySelector("video");

video.addEventListener("canplay", (event) => {
  console.log(
    "動画は開始できますが、最後まで再生されるかどうかはわかりません。",
  );
});
```


イベントハンドラープロパティ `oncanplay` を使用した例:


```js
const video = document.querySelector("video");

video.oncanplay = (event) => {
  console.log(
    "動画は開始できますが、最後まで再生されるかどうかはわかりません。",
  );
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-media-canplay |
| HTML Standard # handler-oncanplay |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連イベント
------

* HTMLMediaElement `playing` イベント
* HTMLMediaElement `waiting` イベント
* HTMLMediaElement `seeking` イベント
* HTMLMediaElement `seeked` イベント
* HTMLMediaElement `ended` イベント
* HTMLMediaElement `loadedmetadata` イベント
* HTMLMediaElement `loadeddata` イベント
* HTMLMediaElement `canplay` イベント
* HTMLMediaElement `canplaythrough` イベント
* HTMLMediaElement `durationchange` イベント
* HTMLMediaElement `timeupdate` イベント
* HTMLMediaElement `play` イベント
* HTMLMediaElement `pause` イベント
* HTMLMediaElement `ratechange` イベント
* HTMLMediaElement `volumechange` イベント
* HTMLMediaElement `suspend` イベント
* HTMLMediaElement `emptied` イベント
* HTMLMediaElement `stalled` イベント
関連情報
----

* `HTMLAudioElement`
* `HTMLVideoElement`
* `<audio>`
* `<video>`
HTMLMediaElement.error
======================

**`HTMLMediaElement.error`** は最新のエラーの `MediaError` (en-US) オブジェクトです。エラーが発生していない場合は `null` になります。要素が `error` イベントを受け取ったら、このオブジェクトを調べることで、何が起こったのかについての詳細を決定することができます。

値
-

メディア要素で発生した最新のエラーを説明する `MediaError` (en-US) オブジェクト。 エラーが発生していない場合は `null` です。

例
-

この例では video 要素を設けて、それにエラーハンドラーを追加しています。エラーハンドラーは単に詳細をコンソールに記録します。


```js
const videoElement = document.createElement("video");
videoElement.onerror = () => {
  console.error(
    `Error ${videoElement.error.code}; details: ${videoElement.error.message}`,
  );
};
videoElement.src = "https://example.com/bogusvideo.mp4";
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-media-error-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 定義している `HTMLMediaElement` インターフェイス
* `<audio>` および `<video>`
TouchList: item() メソッド
======================

**`item()`** メソッドは、この `TouchList` の中の指定された位置にある `Touch` オブジェクトを返します。

構文
--


```js
item(index)
```

### 引数

`index`

取得する `Touch` オブジェクトの添字を指定します。添字は、0 から `TouchList` の長さより 1 つ小さい数までの数です。

### 返値

`touchPoint`

 要求された `Touch` オブジェクトを `TouchList` から取得したものです。
 添字がリストの長さ以上の場合は `null` を返します。


例
-

このコード例では、`TouchList` インターフェイスの `item` メソッドと `length` プロパティの使い方を示しています。


```js
const target = document.getElementById("target");

target.addEventListener(
  "touchstart",
  (ev) => {
    // この touchstart イベントが対象要素で始まった場合、touch を
    // targetTouches リストの最初の項目に設定します。そうでない
    // 場合は、touch リストの最初の項目に touch を設定します。
    const touch =
      ev.targetTouches.length >= 1
        ? ev.targetTouches.item(0)
        : ev.touches.item(0);
  },
  false,
);
```

仕様書
---

| Specification |
| --- |
| Touch Events # dom-touchlist-item |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
TouchList: length プロパティ
=======================

**`length`** は読み取り専用のプロパティで、指定された `TouchList` の項目（タッチポイント）の数を示します。

値
-

`touchList` のタッチポイントの数です。

例
-

このコード例では、`TouchList` インターフェイスの `item` メソッドと `length` プロパティの使い方を示しています。


```js
const target = document.getElementById("target");

target.addEventListener(
  "touchstart",
  (ev) => {
    // この touchstart イベントが対象要素で始まった場合、touch を
    // targetTouches リストの最初の項目に設定します。そうでない
    // 場合は、touch リストの最初の項目に touch を設定します。
    const touch =
      ev.targetTouches.length >= 1
        ? ev.targetTouches.item(0)
        : ev.touches.item(0);
  },
  false,
);
```

仕様書
---

| Specification |
| --- |
| Touch Events # dom-touchlist-length |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
CustomEvent: initCustomEvent() メソッド
===================================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`CustomEvent.initCustomEvent()`** メソッドは `CustomEvent` オブジェクトを初期化します。
 イベントが既に配信されている場合は、このメソッドは何もしません。

 この方法で初期化されたイベントは `Document.createEvent()` メソッドで作成されている必要があります。
 このメソッドは、 `EventTarget.dispatchEvent()` を使ってイベントが配信される前に、イベントを設定するために呼び出す必要があります。
 配信された後は、何もしません。

**メモ:** **このメソッドは非推奨なので、使用しないでください。**

 この機能を使用するのではなく、代わりに `CustomEvent()` のような特定のイベントのコンストラクターを使用してください。
 イベントの作成と起動のページに、これらの使用方法についての詳細が記載されています。


構文
--


```js
event.initCustomEvent(type, canBubble, cancelable, detail)
```

### 引数

`type`

文字列で、このイベントの名前が入ります。

`canBubble`

論理値で、このイベントが DOM を介してバブリングするかどうかを示します。

`cancelable`

論理値で、このイベントがキャンセル可能であるかどうかを示します。

`detail`

任意のデータで、ハンドラーが `CustomEvent.detail` プロパティを通じて利用することができます。

仕様書
---

| Specification |
| --- |
| DOM Standard # dom-customevent-initcustomevent |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `CustomEvent`
* この非推奨のメソッドの代わりに使用するコンストラクター: `CustomEvent()`
CustomEvent: detail プロパティ
=========================

**`detail`** は `CustomEvent` インターフェイスの読み取り専用プロパティで、イベントを初期化する際に渡された何らかのデータを返します。

値
-

イベントの初期化に使用したデータです。

例
-


```js
// カスタムイベントを作成
const catFound = new CustomEvent("animalfound", {
  detail: {
    name: "cat",
  },
});
const dogFound = new CustomEvent("animalfound", {
  detail: {
    name: "dog",
  },
});

// 適切なイベントリスナーを追加
obj.addEventListener("animalfound", (e) => console.log(e.detail.name));

// イベントの配信
obj.dispatchEvent(catFound);
obj.dispatchEvent(dogFound);

// "cat" および "dog" がコンソールの出力される
```

仕様書
---

| Specification |
| --- |
| DOM Standard # ref-for-dom-customevent-detail② |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `CustomEvent`
CustomEvent: CustomEvent() コンストラクター
===================================

**`CustomEvent()`** コンストラクターは新しい `CustomEvent` を作成します。

構文
--


```js
new CustomEvent(type)
new CustomEvent(type, options)
```

### 引数

`type`

イベントの名前を表す文字列です。イベント名は大文字小文字を区別します。

`options` 省略可

オブジェクトで、 `Event()` で定義されるプロパティに加えて、以下のプロパティを指定することができます。

`detail` 省略可

 イベントと関連付けられたイベント依存の値。この値は、ハンドラーが `CustomEvent.detail` プロパティを用いて利用できるようになります。
 既定値は `null` です。



### 返値

新しい `CustomEvent` オブジェクトです。

例
-


```js
// カスタムイベントを作成
const catFound = new CustomEvent("animalfound", {
  detail: {
    name: "cat",
  },
});
const dogFound = new CustomEvent("animalfound", {
  detail: {
    name: "dog",
  },
});

// 適切なイベントリスナーを追加
obj.addEventListener("animalfound", (e) => console.log(e.detail.name));

// イベントの配信
obj.dispatchEvent(catFound);
obj.dispatchEvent(dogFound);

// "cat" および "dog" がコンソールの出力される
```


その他の例がイベントの作成と起動にあります。

仕様書
---

| Specification |
| --- |
| DOM Standard # ref-for-dom-customevent-customevent |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `CustomEvent`
* イベントの作成と起動
ConstantSourceNode()
====================

**`ConstantSourceNode()`** コンストラクターは、常に同じ値のサンプルを出力する音声ソースを表す、新しい `ConstantSourceNode` オブジェクトのインスタンスを作成します。

構文
--


```js
new ConstantSourceNode(context, options)
```

### 引数

`context`

ノードを関連付けたい音声コンテキストを表す `AudioContext` です。

`options`

`ConstantSourceOptions` 辞書オブジェクトで、 `ConstantSourceNode` に持たせたいプロパティを定義します。

`offset`

読み取り専用の `AudioParam` で、ソースが生成する定数値を指定します。既定では 1.0 です。通常は 1.0 ですが、 `Infinity` から `+Infinity` の範囲であればどのような値でも指定できます。


例
-

この例では、音声コンテキストが作成され、次に `offset` が 0.5 に初期化された `ConstantSourceNode` が作成されます。


```js
let audioContext = new AudioContext();

let myConstantSource = new ConstantSourceNode(audioContext, { offset: 0.5 });
```


> 
> **Note:** このコンストラクターで作成された新しい `ConstantSourceNode` は `channelCount` が 2 になります。
> 
> 
> 

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-constantsourcenode-constructor-constantsourcenode |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.