chrome.audio

คำอธิบาย

chrome.audio API มีไว้เพื่ออนุญาตให้ผู้ใช้รับข้อมูลเกี่ยวกับและควบคุมอุปกรณ์เสียงที่เชื่อมต่อกับระบบได้ ปัจจุบัน API นี้ใช้ได้เฉพาะในโหมดคีออสก์สำหรับ ChromeOS

สิทธิ์

audio

ความพร้อมใช้งาน

Chrome 59 ขึ้นไป ChromeOS เท่านั้น

ประเภท

AudioDeviceInfo

พร็อพเพอร์ตี้

  • deviceName

    สตริง

    ชื่ออุปกรณ์

  • deviceType

    ประเภทอุปกรณ์

  • displayName

    สตริง

    ชื่อที่เข้าใจง่าย (เช่น "ไมโครโฟน USB")

  • id

    สตริง

    ตัวระบุที่ไม่ซ้ำกันของอุปกรณ์เสียง

  • isActive

    boolean

    เป็นจริงหากเป็นอุปกรณ์ที่ใช้งานอยู่ในปัจจุบัน

  • ระดับ

    ตัวเลข

    ระดับเสียงของอุปกรณ์ ระดับเสียงสำหรับเอาต์พุต เกนสำหรับอินพุต

  • stableDeviceId

    string ไม่บังคับ

    สตริงรหัสอุปกรณ์ที่เสถียร/ถาวร หากมี

  • streamType

    ประเภทสตรีมที่เชื่อมโยงกับอุปกรณ์นี้

DeviceFilter

พร็อพเพอร์ตี้

  • isActive

    บูลีน ไม่บังคับ

    หากตั้งค่าไว้ จะมีเพียงอุปกรณ์เสียงที่มีสถานะใช้งานอยู่ตรงกับค่านี้เท่านั้นจึงจะตรงตามตัวกรอง

  • streamTypes

    StreamType[] ไม่บังคับ

    หากตั้งค่าไว้ เฉพาะอุปกรณ์เสียงที่มีประเภทสตรีมอยู่ในรายการนี้เท่านั้นที่จะเป็นไปตามตัวกรอง

DeviceIdLists

พร็อพเพอร์ตี้

  • อินพุต

    string[] ไม่บังคับ

    รายการอุปกรณ์อินพุตที่ระบุตามรหัส

    หากต้องการระบุว่าอุปกรณ์อินพุตไม่ควรได้รับผลกระทบ ให้ปล่อยพร็อพเพอร์ตี้นี้ว่างไว้

  • เอาต์พุต

    string[] ไม่บังคับ

    รายการอุปกรณ์เอาต์พุตที่ระบุโดยรหัส

    หากต้องการระบุว่าอุปกรณ์เอาต์พุตไม่ควรได้รับผลกระทบ ให้ปล่อยพร็อพเพอร์ตี้นี้ว่างไว้

DeviceProperties

พร็อพเพอร์ตี้

  • ระดับ

    หมายเลข ไม่บังคับ

    ระดับเสียงที่ต้องการของอุปกรณ์เสียง ค่าเริ่มต้นคือระดับเสียงปัจจุบันของอุปกรณ์

    หากใช้กับอุปกรณ์อินพุตเสียง หมายถึงอัตราขยายเสียงของอุปกรณ์

    หากใช้กับอุปกรณ์เอาต์พุตเสียง จะแสดงระดับเสียงของอุปกรณ์เสียง

DeviceType

ประเภทอุปกรณ์เสียงที่ใช้ได้

ค่าแจกแจง

"HEADPHONE"

"MIC"

"USB"

"บลูทูธ"

"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

    boolean

    ขณะนี้สตรีมถูกปิดเสียงอยู่หรือไม่

  • streamType

    ประเภทของสตรีมที่มีการเปลี่ยนแปลงค่าการปิดเสียง ค่าการปิดเสียงที่อัปเดตแล้วจะมีผลกับอุปกรณ์ทั้งหมดที่มีสตรีมประเภทนี้

StreamType

ประเภทของสตรีมที่ได้จากอุปกรณ์เสียง

ค่าแจกแจง

"INPUT"

"เอาต์พุต"

เมธอด

getDevices()

สัญญา
chrome.audio.getDevices(
  filter?: DeviceFilter,
  callback?: function,
)

รับรายการอุปกรณ์เสียงที่กรองตาม filter

พารามิเตอร์

  • ตัวกรอง

    DeviceFilter ไม่บังคับ

    พร็อพเพอร์ตี้ของอุปกรณ์ที่จะใช้กรองรายการอุปกรณ์เสียงที่ส่งคืน หากไม่ได้ตั้งค่าตัวกรองหรือตั้งค่าเป็น {} รายการอุปกรณ์ที่ส่งคืนจะมีอุปกรณ์เสียงที่พร้อมใช้งานทั้งหมด

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (devices: AudioDeviceInfo[]) => void

การคืนสินค้า

  • Promise<AudioDeviceInfo[]>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getMute()

สัญญา
chrome.audio.getMute(
  streamType: StreamType,
  callback?: function,
)

รับสถานะปิดเสียงทั้งระบบสำหรับประเภทสตรีมที่ระบุ

พารามิเตอร์

  • streamType

    ประเภทสตรีมที่ควรดึงข้อมูลสถานะปิดเสียง

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (value: boolean) => void

    • value

      boolean

การคืนสินค้า

  • Promise<boolean>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

setActiveDevices()

สัญญา
chrome.audio.setActiveDevices(
  ids: DeviceIdLists,
  callback?: function,
)

ตั้งค่ารายการอุปกรณ์อินพุตและ/หรือเอาต์พุตที่ใช้งานอยู่

พารามิเตอร์

  • รหัส

    ระบุรหัสของอุปกรณ์ที่ควรใช้งาน หากไม่ได้ตั้งค่ารายการอินพุตหรือเอาต์พุตไว้ อุปกรณ์ในหมวดหมู่นั้นจะไม่ได้รับผลกระทบ

    การส่งผ่านรหัสอุปกรณ์ที่ไม่มีอยู่จริงเป็นข้อผิดพลาด

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

setMute()

สัญญา
chrome.audio.setMute(
  streamType: StreamType,
  isMuted: boolean,
  callback?: function,
)

ตั้งค่าสถานะปิดเสียงสำหรับประเภทสตรีม สถานะปิดเสียงจะมีผลกับอุปกรณ์เสียงทั้งหมดที่มีประเภทสตรีมเสียงที่ระบุ

พารามิเตอร์

  • streamType

    ประเภทสตรีมที่ควรตั้งค่าสถานะปิดเสียง

  • isMuted

    boolean

    ค่าปิดเสียงใหม่

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

setProperties()

สัญญา
chrome.audio.setProperties(
  id: string,
  properties: DeviceProperties,
  callback?: function,
)

ตั้งค่าคุณสมบัติสำหรับอุปกรณ์อินพุตหรือเอาต์พุต

พารามิเตอร์

การคืนสินค้า

  • คำสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

กิจกรรม

onDeviceListChanged

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

เริ่มทำงานเมื่ออุปกรณ์เสียงมีการเปลี่ยนแปลง ไม่ว่าจะเป็นการเพิ่มอุปกรณ์ใหม่หรืออุปกรณ์ที่มีอยู่จะถูกนำออก

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (devices: AudioDeviceInfo[]) => void

onLevelChanged

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

เริ่มทำงานเมื่อระดับเสียงเปลี่ยนแปลงสำหรับอุปกรณ์เสียงที่ใช้งานอยู่

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (event: LevelChangedEvent) => void

onMuteChanged

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

เริ่มทำงานเมื่อมีการเปลี่ยนแปลงสถานะการปิดเสียงอินพุตหรือเอาต์พุตเสียง โปรดทราบว่าสถานะการปิดเสียงจะมีผลทั้งระบบและค่าใหม่จะมีผลกับอุปกรณ์เสียงทุกเครื่องที่มีประเภทสตรีมที่ระบุไว้

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (event: MuteChangedEvent) => void