chrome.audio

refresh date: 2026-09-25 robots: noindex

الوصف

تتم إتاحة واجهة برمجة التطبيقات chrome.audio للسماح للمستخدمين بالحصول على معلومات حول الأجهزة الصوتية المتصلة بالنظام والتحكّم فيها. لا تتوفّر واجهة برمجة التطبيقات هذه حاليًا إلا في وضع Kiosk لنظام التشغيل ChromeOS.

الأذونات

audio

مدى التوفّر

الإصدار 59 من Chrome والإصدارات الأحدث نظام التشغيل Chrome فقط

الأنواع

AudioDeviceInfo

الخصائص

  • deviceName

    سلسلة

    اسم الجهاز

  • deviceType

    نوع الجهاز

  • displayName

    سلسلة

    الاسم السهل الاستخدام (مثل "ميكروفون USB")

  • id

    سلسلة

    المعرّف الفريد للجهاز الصوتي

  • isActive

    قيمة منطقية

    "صحيح" إذا كان هذا هو الجهاز النشط حاليًا.

  • مستوى

    الرقم

    مستوى صوت الجهاز، ومستوى صوت الإخراج، ومستوى صوت الإدخال

  • stableDeviceId

    string اختياري

    سلسلة رقم تعريف الجهاز الثابتة/المستمرة في حال توفّرها

  • streamType

    نوع البث المرتبط بهذا الجهاز

DeviceFilter

الخصائص

  • isActive

    قيمة منطقية اختيارية

    في حال ضبط هذا الفلتر، لن يستوفي شروطه إلا الأجهزة الصوتية التي تتطابق حالتها النشطة مع هذه القيمة.

  • streamTypes

    StreamType[] اختيارية

    في حال ضبط هذه السياسة، ستستوفي الفلتر الأجهزة الصوتية التي يتضمّنها نوع البث في هذه القائمة فقط.

DeviceIdLists

الخصائص

  • إدخال

    string[] اختياري

    قائمة بأجهزة الإدخال المحدّدة حسب معرّفاتها

    وللإشارة إلى أنّ أجهزة الإدخال يجب ألا تتأثر، اترك هذه السمة بدون ضبط.

  • output

    string[] اختياري

    قائمة بأجهزة الإخراج المحدّدة حسب رقم التعريف

    للإشارة إلى أنّ أجهزة الإخراج يجب ألا تتأثر، اترك هذه السمة بدون ضبط.

DeviceProperties

الخصائص

  • مستوى

    number اختيارية

    مستوى الصوت المطلوب للجهاز الصوتي يتم ضبط مستوى الصوت التلقائي على مستوى الصوت الحالي للجهاز.

    إذا تم استخدامه مع جهاز إدخال صوتي، يمثّل هذا الحقل مستوى الصوت الملتقط من الجهاز الصوتي.

    إذا تم استخدامه مع جهاز إخراج الصوت، يمثّل مستوى صوت الجهاز الصوتي.

DeviceType

أنواع الأجهزة الصوتية المتاحة

Enum

"HEADPHONE"

"MIC"

"USB"

"BLUETOOTH"

"HDMI"

"INTERNAL_SPEAKER"

"INTERNAL_MIC"

"FRONT_MIC"

"REAR_MIC"

"KEYBOARD_MIC"

"HOTWORD"

"LINEOUT"

"POST_MIX_LOOPBACK"

"POST_DSP_LOOPBACK"

"ALSA_LOOPBACK"

"OTHER"

LevelChangedEvent

الخصائص

  • deviceId

    سلسلة

    رقم تعريف الجهاز الذي تم تغيير مستوى الصوت فيه

  • مستوى

    الرقم

    مستوى الصوت الجديد للجهاز

MuteChangedEvent

الخصائص

  • isMuted

    قيمة منطقية

    ما إذا كان البث مكتومًا الآن أم لا

  • streamType

    نوع مصدر البيانات الذي تم تغيير قيمة كتم الصوت له تنطبق قيمة كتم الصوت المعدَّلة على جميع الأجهزة التي تستخدم نوع البث هذا.

StreamType

نوع البث الذي يوفّره الجهاز الصوتي

Enum

"INPUT"

"OUTPUT"

الطُرق

getDevices()

Promise
chrome.audio.getDevices(
  filter?: DeviceFilter,
  callback?: function,
)
: Promise<AudioDeviceInfo[]>

يتم الحصول على قائمة بالأجهزة الصوتية التي تمت فلترتها استنادًا إلى filter.

المعلمات

  • تصفية

    DeviceFilter اختياري

    خصائص الأجهزة التي تتم فلترة قائمة الأجهزة الصوتية المعروضة من خلالها إذا لم يتم ضبط الفلتر أو تم ضبطه على {}، ستتضمّن قائمة الأجهزة المعروضة جميع الأجهزة الصوتية المتاحة.

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (devices: AudioDeviceInfo[]) => void

المرتجعات

  • Promise<AudioDeviceInfo[]>

    الإصدار 116 من Chrome والإصدارات الأحدث

    يُبلغ عن قائمة الأجهزة الصوتية المطلوبة.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

getMute()

Promise
chrome.audio.getMute(
  streamType: StreamType,
  callback?: function,
)
: Promise<boolean>

تسترجع حالة كتم الصوت على مستوى النظام لنوع البث المحدّد.

المعلمات

  • streamType

    نوع البث الذي يجب جلب حالة كتم الصوت له

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (value: boolean) => void

    • القيمة

      قيمة منطقية

المرتجعات

  • Promise<boolean>

    الإصدار 116 من Chrome والإصدارات الأحدث

    وعد يتم حله بقيمة منطقية تشير إلى ما إذا تم ضبط كتم الصوت لنوع البث المحدّد أم لا.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

setActiveDevices()

Promise
chrome.audio.setActiveDevices(
  ids: DeviceIdLists,
  callback?: function,
)
: Promise<void>

يضبط قوائم أجهزة الإدخال و/أو الإخراج النشطة.

المعلمات

  • تحدّد هذه السياسة أرقام تعريف الأجهزة التي يجب أن تكون نشطة. إذا لم يتم ضبط قائمة الإدخال أو الإخراج، لن تتأثر الأجهزة في هذه الفئة.

    يحدث خطأ عند إدخال رقم تعريف جهاز غير موجود.

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

setMute()

Promise
chrome.audio.setMute(
  streamType: StreamType,
  isMuted: boolean,
  callback?: function,
)
: Promise<void>

يضبط حالة كتم الصوت لنوع بث معيّن. سيتم تطبيق حالة كتم الصوت على جميع الأجهزة الصوتية التي تستخدم نوع البث الصوتي المحدّد.

المعلمات

  • streamType

    نوع البث الذي يجب ضبط حالة كتم الصوت له

  • isMuted

    قيمة منطقية

    قيمة كتم الصوت الجديدة

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

setProperties()

Promise
chrome.audio.setProperties(
  id: string,
  properties: DeviceProperties,
  callback?: function,
)
: Promise<void>

يضبط هذا الإجراء خصائص جهاز الإدخال أو الإخراج.

المعلمات

  • id

    سلسلة

  • أماكن الإقامة
  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

الفعاليات

onDeviceListChanged

chrome.audio.onDeviceListChanged.addListener(
  callback: function,
)

يتم تشغيل هذا الحدث عند تغيير الأجهزة الصوتية، سواء تمت إضافة أجهزة جديدة أو إزالة أجهزة حالية.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (devices: AudioDeviceInfo[]) => void

onLevelChanged

chrome.audio.onLevelChanged.addListener(
  callback: function,
)

يتم تشغيل هذا الحدث عندما يتغيّر مستوى الصوت في جهاز صوتي نشط.

المعلمات

onMuteChanged

chrome.audio.onMuteChanged.addListener(
  callback: function,
)

يتم تشغيل هذا الحدث عندما تتغيّر حالة كتم الصوت في جهاز إدخال الصوت أو إخراجه. يُرجى العِلم أنّ حالة كتم الصوت تنطبق على مستوى النظام، ويتم تطبيق القيمة الجديدة على كل جهاز صوتي يتضمّن نوع البث المحدّد.

المعلمات