chrome.audio

คำอธิบาย

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

สิทธิ์

audio

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

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

ประเภท

AudioDeviceInfo

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

  • deviceName

    สตริง

    ชื่ออุปกรณ์

  • deviceType

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

  • displayName

    สตริง

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

  • id

    สตริง

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

  • isActive

    บูลีน

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

  • ระดับ

    ตัวเลข

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

  • stableDeviceId

    สตริง ไม่บังคับ

    สตริงรหัสอุปกรณ์แบบเสถียร/ถาวร (หากมี)

  • streamType

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

DeviceFilter

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

  • isActive

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

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

  • streamTypes

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

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

DeviceIdLists

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

  • อินพุต

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

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

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

  • เอาต์พุต

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

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

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

DeviceProperties

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

  • ระดับ

    ตัวเลข ไม่บังคับ

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

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

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

DeviceType

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

ค่าแจกแจง

"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"

"อื่นๆ"

LevelChangedEvent

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

  • deviceId

    สตริง

    รหัสของอุปกรณ์ที่มีการเปลี่ยนแปลงระดับเสียง

  • ระดับ

    ตัวเลข

    ระดับเสียงใหม่ของอุปกรณ์

MuteChangedEvent

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

  • isMuted

    บูลีน

    ระบุว่าสตรีมปิดเสียงอยู่หรือไม่

  • streamType

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

StreamType

ประเภทสตรีมที่อุปกรณ์เสียงให้

ค่าแจกแจง

"INPUT"

"OUTPUT"

เมธอด

getDevices()

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

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

พารามิเตอร์

  • ตัวกรอง

    DeviceFilter ไม่บังคับ

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (devices: AudioDeviceInfo[]) => void

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

  • Promise<AudioDeviceInfo[]>

    Chrome 116 ขึ้นไป

    ไฟล์ Manifest เวอร์ชัน 3 ขึ้นไปรองรับ Promise แต่มี Callback ไว้เพื่อให้ใช้กับเวอร์ชันก่อนหน้าได้ คุณใช้ทั้ง 2 รูปแบบในการเรียกใช้ฟังก์ชันเดียวกันไม่ได้ พรอมต์จะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยังการเรียกกลับ

getMute()

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

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

พารามิเตอร์

  • streamType

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (value: boolean) => void

    • value

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

    ไฟล์ Manifest เวอร์ชัน 3 ขึ้นไปรองรับ Promise แต่มี Callback ไว้เพื่อให้ใช้กับเวอร์ชันก่อนหน้าได้ คุณใช้ทั้ง 2 รูปแบบในการเรียกใช้ฟังก์ชันเดียวกันไม่ได้ พรอมต์จะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยังการเรียกกลับ

setActiveDevices()

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

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

พารามิเตอร์

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

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    ไฟล์ Manifest เวอร์ชัน 3 ขึ้นไปรองรับ Promise แต่มี Callback ไว้เพื่อให้ใช้กับเวอร์ชันก่อนหน้าได้ คุณใช้ทั้ง 2 รูปแบบในการเรียกใช้ฟังก์ชันเดียวกันไม่ได้ พรอมต์จะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยังการเรียกกลับ

setMute()

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

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

พารามิเตอร์

  • streamType

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

  • isMuted

    บูลีน

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    ไฟล์ Manifest เวอร์ชัน 3 ขึ้นไปรองรับ Promise แต่มี Callback ไว้เพื่อให้ใช้กับเวอร์ชันก่อนหน้าได้ คุณใช้ทั้ง 2 รูปแบบในการเรียกใช้ฟังก์ชันเดียวกันไม่ได้ พรอมต์จะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยังการเรียกกลับ

setProperties()

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

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

พารามิเตอร์

  • id

    สตริง

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

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    ไฟล์ Manifest เวอร์ชัน 3 ขึ้นไปรองรับ Promise แต่มี Callback ไว้เพื่อให้ใช้กับเวอร์ชันก่อนหน้าได้ คุณใช้ทั้ง 2 รูปแบบในการเรียกใช้ฟังก์ชันเดียวกันไม่ได้ พรอมต์จะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยังการเรียกกลับ

กิจกรรม

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