aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/mediarecordererrorevent/error/index.html
blob: d12862ea7b5dce62266204243fdea8674a146536 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
title: MediaRecorderErrorEvent.error
slug: Web/API/MediaRecorderErrorEvent/error
tags:
  - API
  - Error
  - Error Handling
  - MediaRecordingErrorEvent
  - MediaStream Recording
  - MediaStream Recording API
  - Property
  - Reference
translation_of: Web/API/MediaRecorderErrorEvent/error
---
<div>{{APIRef("MediaStream Recording")}}</div>

<p><strong>{{domxref("MediaRecorderErrorEvent")}}</strong> インタフェースの読み取り専用の <code>error</code> プロパティは、{{domxref("MediaRecorder")}} インスタンスによってスローされた例外に関する詳細を提供する {{domxref("DOMException")}} オブジェクトです。</p>

<p><code>Media​Recorder​Error​Event​</code> が発生した場合、<code>MediaRecorder</code>{{event("error")}} イベントハンドラである {{domxref("MediaRecorder.onerror", "onerror")}} によって受けた <code>MediaRecorderErrorEvent</code> 内の <code>error</code> プロパティを調べることによって、何が問題であるかをある程度判断できます。</p>

<h2 id="Syntax" name="Syntax">構文</h2>

<pre class="syntaxbox notranslate"><em>error</em> = <em>MediaRecorderErrorEvent</em>.error;
</pre>

<h3 id="Value" name="Value"></h3>

<p>イベントによって表されるエラーを記述する {{domxref("DOMException")}}。 エラーの {{domxref("DOMException.name", "name")}} プロパティの値は、仕様で明確に識別されているものも含め、メディア記録の処理中に意味をなすものであればどんな例外でもかまいません。 ここでの説明は一般的なものです。 あなたはそれらが対応するメソッドのリファレンスで起こるかもしれない様々なシナリオにもっと具体的なものを見つけるでしょう。</p>

<dl>
 <dt><code>InvalidStateError</code></dt>
 <dd>操作が許可されていないコンテキストで操作が試行されたか、削除されたか取り除かれたオブジェクトに対して要求が行われました。</dd>
 <dt><code>NotSupportedError</code></dt>
 <dd>指定されたオプションが無効なため、<code>MediaRecorder</code> を作成できませんでした。 <code>message</code> 属性は、もしあれば追加情報を提供するべきです。</dd>
 <dt><code>SecurityError</code></dt>
 <dd>{{domxref("MediaStream")}} は記録を禁止するように設定されています。 これは、例えば、ユーザーが入力デバイスを使用するパーミッションを拒否したときに {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} を使用して取得されたソースの場合などです。 これは、ソースストリームの {{domxref("MediaStreamConstraints.peerIdentity", "peerIdentity")}} 制約により、ストリーム内の {{domxref("MediaStreamTrack")}}{{domxref("MediaStreamTrack.isolated", "isolated")}}  としてマークされている場合にも発生します。</dd>
</dl>

<h2 id="Example" name="Example"></h2>

<p>この関数は、与えられた {{domxref("MediaStream")}}<code>MediaRecorder</code> を作成して、データを配列にバッファし、エラーを監視するように構成して、返します。</p>

<pre class="brush: js notranslate">function recordStream(stream) {
  let recorder = null;
  let bufferList = [];

  try {
    recorder = new MediaRecorder(stream);
  } catch(err) {
    /* レコーダーを作成しようとしたときの例外。 それを扱う */
  }

  recorder.ondataavailable = function(event) {
    bufferList.push(event.data);
  };

  recorder.onerror = function(event) {
    let error = event.error;
  };

  recorder.start(100);  /* バッファあたり 100ms のタイムスライス */
  return recorder;
}</pre>

<h2 id="Specifications" name="Specifications">仕様</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">仕様</th>
   <th scope="col">状態</th>
   <th scope="col">コメント</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{ SpecName('MediaStream Recording', '#errorevent-section', 'MediaRecorderErrorEvent.error') }}</td>
   <td>{{ Spec2('MediaStream Recording') }}</td>
   <td>初期定義</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>

<p>{{Compat("api.MediaRecorderErrorEvent.error")}}</p>

<h2 id="See_also" name="See_also">関連情報</h2>

<ul>
 <li><a href="/ja/docs/Web/API/MediaStream_Recording_API">MediaStream Recording API</a></li>
 <li><a href="/ja/docs/Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recording_API">Media​Stream Recording API の使用</a></li>
</ul>