В этой статье блога мы рассмотрим различные способы изменения устройства вывода звука с помощью 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. Приятного экспериментирования с устройствами вывода звука!