Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

web/api/sourcebuffer 以下を md に一括変換 #7836

Merged
merged 3 commits into from
Aug 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 0 additions & 97 deletions files/ja/web/api/sourcebuffer/abort/index.html

This file was deleted.

72 changes: 72 additions & 0 deletions files/ja/web/api/sourcebuffer/abort/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: SourceBuffer.abort()
slug: Web/API/SourceBuffer/abort
tags:
- API
- Audio
- Experimental
- MSE
- Media Source Extensions
- Method
- Reference
- SourceBuffer
- Video
- abort
translation_of: Web/API/SourceBuffer/abort
---
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}

{{domxref("SourceBuffer")}} インターフェイスの **`abort()`** メソッドは、現在のセグメントを打ち切り、セグメントパーサーをリセットします。

## 構文

```
sourceBuffer.abort();
```

### パラメーター

なし。

### 戻り値

{{jsxref('undefined')}}。

### 例外

| 例外 | 説明 |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `InvalidStateError` | 親メディアソースの {{domxref("MediaSource.readyState")}} プロパティが `open` と等しくないか、この `SourceBuffer` が {{domxref("MediaSource")}} から取り除かれています。 |

## 例

`abort()` の仕様の説明はやや混乱します。 例えば、パーサーの状態のリセット([reset parser state](http://w3c.github.io/media-source/index.html#sourcebuffer-reset-parser-state))のステップ 1 を検討してください。 MSE API は完全に非同期ですが、この手順は同期(ブロッキング)操作を示唆しているように見えますが、これは意味がありません。

つまり、現在の実装は、ソースバッファで発生している現在の追加(またはその他)操作を停止し、すぐに操作を再開したい特定の状況で役立ちます。 例えば、次のコードを検討してください。

```js
sourceBuffer.addEventListener('updateend', function (_) {
...
});

sourceBuffer.appendBuffer(buf);
```

`appendBuffer` の呼び出し後、`updateend` イベントが発生する前(つまり、バッファは追加されているが、操作はまだ完了していない)に、ユーザーが新しいポイントを探して動画を「スクラブ」するとします。 この場合、ソースバッファで `abort()` を手動で呼び出して現在のバッファのデコードを停止し、動画の現在の新しい位置に関連する新しく要求されたセグメントを取得して追加します。

Nick Desaulnier の [bufferWhenNeeded デモ](https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html)で同様の動作を確認できます。 [48 行目では、イベントリスナーが再生中の動画に追加され](https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L48)、`seek()` という関数が `seeking` イベントが発生したときに実行されます。 [行 92〜101 では、seek() 関数が定義されています](https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L92-L101)。 ここで、{{domxref("MediaSource.readyState")}} が `open` に設定されている場合、`abort()` が呼び出されることに注意してください。 つまり、新しいソースバッファを受信する準備ができていることを意味します。 この時点で、現在のセグメントを打ち切り、新しいシーク位置のセグメントを取得するだけの価値があります([`checkBuffer()`](https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L78-L90) および [`getCurrentSegment()`](https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L103-L105) を参照)。

## 仕様

| 仕様 | 状態 | コメント |
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | -------- |
| {{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-abort()', 'abort()')}} | {{Spec2('Media Source Extensions')}} | 初期定義 |

## ブラウザーの互換性

{{Compat("api.SourceBuffer.abort")}}

## 関連情報

- {{domxref("MediaSource")}}
- {{domxref("SourceBufferList")}}
76 changes: 0 additions & 76 deletions files/ja/web/api/sourcebuffer/appendbuffer/index.html

This file was deleted.

58 changes: 58 additions & 0 deletions files/ja/web/api/sourcebuffer/appendbuffer/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: SourceBuffer.appendBuffer()
slug: Web/API/SourceBuffer/appendBuffer
tags:
- API
- Audio
- Experimental
- MSE
- Media
- Media Source Extensions
- Method
- Reference
- SourceBuffer
- Video
- appendBuffer
translation_of: Web/API/SourceBuffer/appendBuffer
---
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}

{{domxref("SourceBuffer")}} インターフェイスの **`appendBuffer()`** メソッドは、{{jsxref("ArrayBuffer")}} オブジェクトまたは `ArrayBufferView` オブジェクトからのメディアセグメントデータを `SourceBuffer` に追加します。

## 構文

```
sourceBuffer.appendBuffer(source);
```

### パラメーター

- `source`
- : `SourceBuffer` に追加するメディアセグメントデータを含む {{domxref("BufferSource")}}(つまり、{{domxref("ArrayBufferView")}} または {{jsxref("ArrayBuffer")}})。

### 戻り値

{{jsxref('undefined')}}。

### 例外

なし。

## 例

未定

## 仕様

| 仕様 | 状態 | コメント |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ | -------- |
| {{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-appendbuffer(buffersource)', 'appendBuffer()')}} | {{Spec2('Media Source Extensions')}} | 初期定義 |

## ブラウザーの互換性

{{Compat("api.SourceBuffer.appendBuffer")}}

## 関連情報

- {{domxref("MediaSource")}}
- {{domxref("SourceBufferList")}}
87 changes: 0 additions & 87 deletions files/ja/web/api/sourcebuffer/appendbufferasync/index.html

This file was deleted.

Loading