From 3c07920ae499911a6d80314298bb58ce1b468433 Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Thu, 27 Jul 2023 22:38:02 +0900 Subject: [PATCH 1/2] Translate Bluetooth (Web Bluetooth API) --- .../availabilitychanged_event/index.md | 54 ++++++++++++ .../api/bluetooth/getavailability/index.md | 54 ++++++++++++ .../ja/web/api/bluetooth/getdevices/index.md | 38 +++++++++ files/ja/web/api/bluetooth/index.md | 41 ++++----- .../web/api/bluetooth/requestdevice/index.md | 85 +++++++++++++++++++ 5 files changed, 252 insertions(+), 20 deletions(-) create mode 100644 files/ja/web/api/bluetooth/availabilitychanged_event/index.md create mode 100644 files/ja/web/api/bluetooth/getavailability/index.md create mode 100644 files/ja/web/api/bluetooth/getdevices/index.md create mode 100644 files/ja/web/api/bluetooth/requestdevice/index.md diff --git a/files/ja/web/api/bluetooth/availabilitychanged_event/index.md b/files/ja/web/api/bluetooth/availabilitychanged_event/index.md new file mode 100644 index 00000000000000..745c78a744652b --- /dev/null +++ b/files/ja/web/api/bluetooth/availabilitychanged_event/index.md @@ -0,0 +1,54 @@ +--- +title: "Bluetooth: availabilitychanged イベント" +slug: Web/API/Bluetooth/availabilitychanged_event +l10n: + sourceCommit: 1f216a70d94c3901c5767e6108a29daa48edc070 +--- + +{{APIRef("Bluetooth API")}}{{securecontext_header}}{{SeeCompatTable}} + +`availabilitychanged` イベントは、{{Glossary("User Agent", "ユーザーエージェント")}}で Bluetooth システム全体が利用可能になるか利用不可能になったとき発火します。 + +## 構文 + +{{domxref("EventTarget.addEventListener", "addEventListener()")}} などのメソッドでイベント名を用いるか、イベントハンドラープロパティを設定します。 + +```js-nolint +addEventListener("availabilitychanged", (event) => { }) + +onavailabilitychanged = (event) => { } +``` + +## イベント型 + +汎用の {{domxref("Event")}} です。 + +## 例 + +Bluetooth の利用可能性の変化の通知を受け取るには、このように {{domxref("EventTarget.addEventListener", "addEventListener()")}} を用いて {{domxref("Bluetooth")}} インスタンスにハンドラーを追加するとよいです。 + +```js +Bluetooth.addEventListener("availabilitychanged", (event) => { + const availability = event.value; +}); +``` + +別の方法として、`Bluetooth.onavailabilitychanged` イベントハンドラープロパティを用いて `availabilitychanged` イベントのハンドラーを構築できます。 + +```js +Bluetooth.onavailabilitychanged = (event) => { + const availability = event.value; +}; +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{DOMxRef("Bluetooth.getAvailability")}} diff --git a/files/ja/web/api/bluetooth/getavailability/index.md b/files/ja/web/api/bluetooth/getavailability/index.md new file mode 100644 index 00000000000000..b8d3768065d3d8 --- /dev/null +++ b/files/ja/web/api/bluetooth/getavailability/index.md @@ -0,0 +1,54 @@ +--- +title: "Bluetooth: getAvailability() メソッド" +slug: Web/API/Bluetooth/getAvailability +l10n: + sourceCommit: 1f216a70d94c3901c5767e6108a29daa48edc070 +--- + +{{securecontext_header}}{{SeeCompatTable}}{{APIRef("Bluetooth API")}} + +{{DOMxRef("Bluetooth")}} インターフェイスの **`getAvailability()`** メソッドは、デバイスに Bluetooth アダプターがある場合は `true` を返し、そうでない場合は `false` を返します。(ユーザーがブラウザーを本当の値を公開しないよう設定した場合は除きます) + +> **メモ:** `getAvailability()` が `true` を返す場合でも、ユーザーが Web Bluetooth API の使用を許可しないかもしれません。 +> ({{DOMxRef("Bluetooth.requestDevice","navigator.bluetooth.requestDevice()")}} が {{DOMxRef("BluetoothDevice")}} で解決しないかもしれません) +> また、ユーザーはブラウザーを本当の値ではなく固定の値を返すよう設定する可能性があります。 + +## 構文 + +```js-nolint +getAvailability() +``` + +### 引数 + +なし + +### 返値 + +{{JSxRef("Boolean")}} で解決する {{JSxRef("Promise")}} を返します。 + +## 例外 + +このメソッドは例外を投げません。 + +## 例 + +この断片は、Bluetooth に対応しているかを表すメッセージをコンソールに出力します。 + +```js +navigator.bluetooth.getAvailability().then((available) => { + if (available) { + console.log("このデバイスは Bluetooth に対応しています!"); + } else { + console.log("残念!Bluetooth に対応していません"); + } +}); +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} diff --git a/files/ja/web/api/bluetooth/getdevices/index.md b/files/ja/web/api/bluetooth/getdevices/index.md new file mode 100644 index 00000000000000..ad5f5d403b6f04 --- /dev/null +++ b/files/ja/web/api/bluetooth/getdevices/index.md @@ -0,0 +1,38 @@ +--- +title: "Bluetooth: getDevices() メソッド" +slug: Web/API/Bluetooth/getDevices +l10n: + sourceCommit: 1f216a70d94c3901c5767e6108a29daa48edc070 +--- + +{{securecontext_header}}{{SeeCompatTable}}{{APIRef("Bluetooth API")}} + +[Web Bluetooth API](/ja/docs/Web/API/Web_Bluetooth_API) の {{DOMxRef("Bluetooth")}} インターフェイスの **`getDevices()`** メソッドは、オリジンがアクセスを許可されている Bluetooth デバイスを公開します。このメソッドは許可を要求するプロンプトを表示しません。 + +> **メモ:** このメソッドは、圏外だったり電源が切られていたりするものを含め、オリジンが現在アクセスを許可されている各デバイスに対応する {{DOMxRef("BluetoothDevice")}} を返します。 + +## 構文 + +```js-nolint +getDevices() +``` + +### 引数 + +なし + +### 返値 + +{{DOMxRef("BluetoothDevice")}} の配列で解決する {{JSxRef("Promise")}} を返します。 + +## 例外 + +このメソッドは例外を投げません。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} diff --git a/files/ja/web/api/bluetooth/index.md b/files/ja/web/api/bluetooth/index.md index 84b1ce3f279f84..b95be3081a0853 100644 --- a/files/ja/web/api/bluetooth/index.md +++ b/files/ja/web/api/bluetooth/index.md @@ -1,37 +1,38 @@ --- title: Bluetooth slug: Web/API/Bluetooth +l10n: + sourceCommit: 15d7838061736509d08d642611bd26c1251c0500 --- -{{ apiref("W3C Bluetooth API") }} {{Non-standard_header()}} +{{APIRef("Bluetooth API")}}{{securecontext_header}}{{SeeCompatTable}} -[Web Bluetooth API](/ja/Web/API/Web_Bluetooth_API) の **`Bluetooth`** インターフェースは、オプション指定した {{domxref("BluetoothDevice")}} の {{jsxref("Promise")}} を返します。 +[Web Bluetooth API](/ja/docs/Web/API/Web_Bluetooth_API) の **`Bluetooth`** インターフェイスは、指定のオプションに合致する {{domxref("BluetoothDevice")}} オブジェクトで解決する {{jsxref("Promise")}} を返します。 -## インターフェース +{{InheritanceDiagram}} -``` -interface Bluetooth { - Promise requestDevice(RequestDeviceOptions options); -}; -Bluetooth implements EventTarget; -Bluetooth implements BluetoothDeviceEventHandlers; -Bluetooth implements CharacteristicEventHandlers; -Bluetooth implements ServiceEventHandlers; -``` +## インスタンスプロパティ -## プロパティ +_親の {{domxref("EventTarget")}} からプロパティを継承します。_ -なし +## インスタンスメソッド -## メソッド +- {{domxref("Bluetooth.getAvailability","Bluetooth.getAvailability()")}} {{Experimental_Inline}} + - : ユーザーエージェントに Bluetooth を扱う機能があるかを表す {{jsxref("boolean")}} 値で解決する {{jsxref("Promise")}} を返します。これが何を返すかに影響するオプションをユーザーが設定できるユーザーエージェントもあります。このオプションが設定されている場合、このメソッドはその値を返します。 +- {{domxref("Bluetooth.getDevices","Bluetooth.getDevices()")}} {{Experimental_Inline}} + - : オリジンが既に {{domxref("Bluetooth.requestDevice","Bluetooth.requestDevice()")}} の呼び出しにより使用する許可を得ている {{domxref("BluetoothDevice")}} の配列で解決する {{jsxref("Promise")}} を返します。 +- {{domxref("Bluetooth.requestDevice","Bluetooth.requestDevice()")}} {{Experimental_Inline}} + - : 指定のオプションに合致する {{domxref("BluetoothDevice")}} オブジェクトで解決する {{jsxref("Promise")}} を返します。 -- {{domxref("Bluetooth.requestDevice()")}} - - : オプション指定した {{domxref("BluetoothDevice")}} の {{jsxref("Promise")}} を返す。 +## イベント -## 仕様 +- {{domxref("Bluetooth.availabilitychanged_event", "availabilitychanged")}} {{Experimental_Inline}} + - : Bluetooth の能力のうち利用可能性が変化したとき発火するイベントです。 + +## 仕様書 {{Specifications}} -## ブラウザー実装状況 +## ブラウザーの互換性 -{{Compat("api.Bluetooth")}} +{{Compat}} diff --git a/files/ja/web/api/bluetooth/requestdevice/index.md b/files/ja/web/api/bluetooth/requestdevice/index.md new file mode 100644 index 00000000000000..da119ce22ae282 --- /dev/null +++ b/files/ja/web/api/bluetooth/requestdevice/index.md @@ -0,0 +1,85 @@ +--- +title: "Bluetooth: requestDevice() メソッド" +slug: Web/API/Bluetooth/requestDevice +l10n: + sourceCommit: 1f216a70d94c3901c5767e6108a29daa48edc070 +--- + +{{APIRef("Bluetooth API")}} {{securecontext_header}}{{SeeCompatTable}} + +{{domxref("Bluetooth")}} インターフェイスの **`Bluetooth.requestDevice()`** メソッドは、指定のオプションに合致する {{domxref("BluetoothDevice")}} オブジェクトで解決する {{jsxref("Promise")}} を返します。選択用の UI が無い場合は、このメソッドは基準に合致する最初のデバイスを返します。 + +## 構文 + +```js-nolint +requestDevice() +requestDevice(options) +``` + +### 引数 + +- `options` {{optional_inline}} + - : デバイスの要求に関するオプションを設定するオブジェクトです。以下のオプションが利用可能です。 + - `filters[]` + - `BluetoothScanFilters` の配列です。このフィルタは、`BluetoothServiceUUID` の配列、`name` パラメーター、`namePrefix` パラメーターからなります。 + - `optionalServices[]` + - : `BluetoothServiceUUID` の配列です。 + - `acceptAllDevices` + - : 要求を出しているスクリプトがすべての Bluetooth デバイスを受け入れるかを表す {{jsxref("boolean")}} 値です。デフォルトは `false` です。 + +### 返値 + +{{domxref("BluetoothDevice")}} オブジェクトで解決する {{jsxref("Promise")}} を返します。 + +### 例外 + +- {{jsxref("TypeError")}} + - : 指定された `options` が意味をなさないとき投げられます。 + たとえば、`options.filters` が存在して、かつ `options.acceptAllDevices` が `true` に設定されている場合や、`options.filters` が存在せず、かつ `options.acceptAllDevices` が `false` に設定されている場合に投げられます。 + `options.filters` が `[]` に設定されている場合も投げられます。 +- `NotFoundError` {{domxref("DOMException")}} + - : 指定のオプションに合致する Bluetooth デバイスが存在しないとき投げられます。 +- `SecurityError` {{domxref("DOMException")}} + - : 安全でないオリジンで呼び出されたときなど、現在のコンテキストでセキュリティの懸念によりこの操作が許可されないとき投げられます。 + +## 例 + +```js +// 以下のアドバタイズをしているデバイスにマッチする検索オプションを使用します。 +// ・標準の心拍数サービス +// ・16 ビットのサービス ID が 0x1802 と 0x1803 +// ・プロプライエタリーの 128 ビット UUID c48e6067-5295-48d3-8d5c-0395f61792b1 を持つサービス +// ・名前 "ExampleName" を持つデバイス +// ・名前が "Prefix" で始まるデバイス +// +// そして、デバイスが該当のサービスをアドバタイズしていない場合でも、 +// デバイスに存在すれば、バッテリーサービスへのアクセスを有効化します。 +let options = { + filters: [ + { services: ["heart_rate"] }, + { services: [0x1802, 0x1803] }, + { services: ["c48e6067-5295-48d3-8d5c-0395f61792b1"] }, + { name: "ExampleName" }, + { namePrefix: "Prefix" }, + ], + optionalServices: ["battery_service"], +}; + +navigator.bluetooth + .requestDevice(options) + .then((device) => { + console.log(`名前: ${device.name}`); + // デバイスに何かをする + }) + .catch((error) => console.error(`何かがうまくいきませんでした。 ${error}`)); +``` + +[詳細な例](https://webbluetoothcg.github.io/web-bluetooth/#example-filter-by-services)が仕様書にあります。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} From 406c05669fca11c8c8f05826c918a169bacb88da Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Thu, 27 Jul 2023 22:54:58 +0900 Subject: [PATCH 2/2] Fix Markdownlint failure --- files/ja/web/api/bluetooth/getdevices/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/ja/web/api/bluetooth/getdevices/index.md b/files/ja/web/api/bluetooth/getdevices/index.md index ad5f5d403b6f04..579449a073e491 100644 --- a/files/ja/web/api/bluetooth/getdevices/index.md +++ b/files/ja/web/api/bluetooth/getdevices/index.md @@ -9,7 +9,7 @@ l10n: [Web Bluetooth API](/ja/docs/Web/API/Web_Bluetooth_API) の {{DOMxRef("Bluetooth")}} インターフェイスの **`getDevices()`** メソッドは、オリジンがアクセスを許可されている Bluetooth デバイスを公開します。このメソッドは許可を要求するプロンプトを表示しません。 -> **メモ:** このメソッドは、圏外だったり電源が切られていたりするものを含め、オリジンが現在アクセスを許可されている各デバイスに対応する {{DOMxRef("BluetoothDevice")}} を返します。 +> **メモ:** このメソッドは、圏外だったり電源が切られていたりするものを含め、オリジンが現在アクセスを許可されている各デバイスに対応する {{DOMxRef("BluetoothDevice")}} を返します。 ## 構文