Переключение устройств вывода звука в Python: подробное руководство

В этой статье блога мы рассмотрим различные способы изменения устройства вывода звука с помощью Python. Независимо от того, работаете ли вы над мультимедийным приложением, голосовым помощником или просто хотите контролировать, где воспроизводится звук, Python предоставляет несколько вариантов выполнения этой задачи. Мы рассмотрим некоторые популярные библиотеки, предоставим примеры кода и объясним необходимые шаги. Итак, давайте углубимся и узнаем, как легко переключать устройства вывода звука с помощью Python!

Метод 1: использование библиотеки PyAudio

PyAudio — это мощная кроссплатформенная библиотека аудио ввода-вывода, которая обеспечивает высокоуровневый интерфейс для ввода и вывода звука. Чтобы изменить устройство вывода звука, выполните следующие действия:

Шаг 1. Установите PyAudio

pip install pyaudio

Шаг 2. Перечислите доступные устройства

import pyaudio
p = pyaudio.PyAudio()
for i in range(p.get_device_count()):
    info = p.get_device_info_by_index(i)
    print(f"Device {i}: {info['name']}")

Этот код выведет список всех доступных аудиоустройств вместе с их индексами.

Шаг 3. Смените устройство вывода звука

import pyaudio
p = pyaudio.PyAudio()
device_index = 1  # Replace with the desired device index
stream = p.open(output_device_index=device_index, format=pyaudio.paInt16, channels=2, rate=44100, output=True)

Замените device_indexна желаемый индекс устройства вывода, которое вы хотите использовать.

Метод 2. Использование библиотеки звуковых устройств

Библиотека sounddevice — еще один популярный выбор для операций ввода-вывода звука в Python. Вот как вы можете изменить устройство вывода звука с помощью sounddevice:

Шаг 1. Установите звуковое устройство

pip install sounddevice

Шаг 2. Перечислите доступные устройства

import sounddevice as sd
devices = sd.query_devices()
for i, device in enumerate(devices):
    print(f"Device {i}: {device['name']}")

Этот код выведет список всех доступных аудиоустройств вместе с их индексами.

Шаг 3. Смените устройство вывода звука

import sounddevice as sd
device_index = 0  # Replace with the desired device index
sd.default.device = device_index

Замените device_indexна желаемый индекс устройства вывода, которое вы хотите использовать.

Метод 3. Использование библиотеки ctypes

Библиотека ctypes позволяет получать доступ к низкоуровневым библиотекам и манипулировать ими непосредственно из Python. Вот как вы можете изменить устройство вывода звука с помощью ctypes:

Шаг 1. Импортируйте библиотеку ctypes

import ctypes

Шаг 2. Смените устройство вывода звука

SND_FILENAME = 0x00020000
SND_ASYNC = 0x0001
winmm = ctypes.windll.winmm
winmm.PlaySoundW("path_to_audio_file.wav", None, SND_FILENAME | SND_ASYNC)

Замените "path_to_audio_file.wav"фактическим путем к аудиофайлу.

В этой статье мы рассмотрели различные способы изменения устройства вывода звука в Python. Мы рассмотрели библиотеку PyAudio, библиотеку звуковых устройств и даже продемонстрировали низкоуровневый подход с использованием библиотеки ctypes. В зависимости от ваших требований и предпочтений вы можете выбрать наиболее подходящий метод для вашего проекта. Теперь у вас есть знания и инструменты для управления воспроизведением звука в ваших приложениях Python. Приятного экспериментирования с устройствами вывода звука!