From 5cb9f769718b00c1ca976a7d0c60255046174bba Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Fri, 16 Aug 2024 12:54:05 +0900 Subject: [PATCH] =?UTF-8?q?2024/02/06=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mediadevices/enumeratedevices/index.md | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/files/ja/web/api/mediadevices/enumeratedevices/index.md b/files/ja/web/api/mediadevices/enumeratedevices/index.md index 386b4ebd8dedfe..9c6672f6210369 100644 --- a/files/ja/web/api/mediadevices/enumeratedevices/index.md +++ b/files/ja/web/api/mediadevices/enumeratedevices/index.md @@ -1,17 +1,18 @@ --- title: "MediaDevices: enumerateDevices() メソッド" +short-title: enumerateDevices() slug: Web/API/MediaDevices/enumerateDevices l10n: - sourceCommit: eab4066e72d5478de920e4020e5db71214dcffa6 + sourceCommit: b2875dbaa70efb5850084b9802803b439db325f5 --- -{{APIRef("WebRTC")}} +{{APIRef("Media Capture and Streams")}}{{SecureContext_Header}} -{{domxref("MediaDevices")}} の **`enumerateDevices()`** メソッドは、マイクやカメラ、ヘッドセットなど、利用可能なメディア入出力機器の一覧を要求します。 +**`enumerateDevices()`** は {{domxref("MediaDevices")}} インターフェイスのメソッドで、マイクやカメラ、ヘッドセットなど、現在利用可能なメディア入出力機器の一覧を要求します。 返されたプロミス ({{jsxref("Promise")}}) は、機器を記述した {{domxref("MediaDeviceInfo")}} の配列で解決されます。 -特定の機器へのアクセスは、[権限 API](/ja/docs/Web/API/Permissions_API) によって制限されます。 -返される機器の一覧では、対応する権限が付与されていない機器は省略されます。[`microphone`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/microphone), [`camera`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/camera), [`speaker-selection`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/speaker-selection) (出力機器の場合)などです。 +特定の機器へのアクセスは、[権限ポリシー](/ja/docs/Web/HTTP/Headers/Permissions-Policy)によって制限されます。返される機器の一覧では、対応する権限が付与されていない機器は省略されます。[`microphone`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/microphone), [`camera`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/camera), [`speaker-selection`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/speaker-selection) (出力機器の場合)などです。 +また、[権限 API](/ja/docs/Web/API/Permissions_API) によって、特定の既定ではない機器へのアクセスも制限され、ユーザーが明示的な許可を与えていない端末はリストから省略されます。 ## 構文 @@ -25,12 +26,13 @@ enumerateDevices() ### 返値 -{{ jsxref("Promise") }} で、プロミスが履行されると {{domxref("MediaDeviceInfo")}} オブジェクトの配列を受け取ります。 +{{jsxref("Promise")}} で、{{domxref("MediaDeviceInfo")}} オブジェクトの配列で履行されます。 配列内の各オブジェクトは、利用可能なメディア入出力機器の 1 つを記述します。 順番は重要で、既定のキャプチャ機器が最初にリストアップされます。 -権限が付与された機器種別のみが "available" となります。 -また、[`speaker-selection`](/ja/docs/Web/HTTP/Headers/Permissions-Policy/speaker-selection) [権限ポリシー](/ja/docs/Web/HTTP/Permissions_Policy)を使用して、音声出力の使用をブロックしていた場合、リストには現れないことに注意してください。 +既定以外の危機は、権限が付与された機器のみが "available" となります。 + +メディア機器が入力機器である場合、代わりに {{domxref("InputDeviceInfo")}} オブジェクトが返されます。 列挙に失敗した場合、プロミスは拒否されます。 @@ -39,16 +41,17 @@ enumerateDevices() API へのアクセスは、以下の制約を受けます。 - このメソッドは、[安全なコンテキスト](/ja/docs/Web/Security/Secure_Contexts)で呼び出す必要があります。 +- 文書は完全にアクティブで、その可視性が「可視」である必要があります。 ## 例 -これは `enumerateDevices()` の使用例です。[デバイス ID](/ja/docs/Web/API/MediaDeviceInfo/deviceId) の一覧と、もしあればそのラベルが出力されます。 +これは `enumerateDevices()` の使用例です。[機器 ID](/ja/docs/Web/API/MediaDeviceInfo/deviceId) の一覧と、もしあればそのラベルが出力されます。 ```js if (!navigator.mediaDevices?.enumerateDevices) { console.log("enumerateDevices() not supported."); } else { - // List cameras and microphones. + // カメラとマイクを列挙 navigator.mediaDevices .enumerateDevices() .then((devices) => { @@ -90,5 +93,5 @@ audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0= - {{domxref("MediaDevices.getUserMedia")}} - [WebRTC](/ja/docs/Web/API/WebRTC_API) - API の入門ページ -- [MediaStream API](/ja/docs/Web/API/Media_Capture_and_Streams_API) - メディアストリームオブジェクトの API -- [ウェブか無での写真撮影](/ja/docs/Web/API/Media_Capture_and_Streams_API/Taking_still_photos) は、動画ではなく写真を撮るために `getUserMedia()` を使用するチュートリアルです。 +- [メディアキャプチャとストリーム API](/ja/docs/Web/API/Media_Capture_and_Streams_API) - メディアストリームオブジェクトの API +- [ウェブカムでの写真撮影](/ja/docs/Web/API/Media_Capture_and_Streams_API/Taking_still_photos) は、動画ではなく写真を撮るために `getUserMedia()` を使用するチュートリアルです。