Python pycaw обнаруживает ошибку AttributeError при попытке использовать метод Activate для объекта AudioDevicePython

Программы на Python
Ответить
Anonymous
 Python pycaw обнаруживает ошибку AttributeError при попытке использовать метод Activate для объекта AudioDevice

Сообщение Anonymous »

Я пытаюсь установить громкость микрофона на 100 %, используя библиотеку pycaw в Python. Однако я сталкиваюсь с ошибкой AttributeError при попытке использовать метод Activate для объекта AudioDevice. Вот подробности:
Код:

Код: Выделить всё

import os
import time
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume

def set_microphone_volume(volume_level):
devices = AudioUtilities.GetAllDevices()
print("Found devices:")
for device in devices:
print(f"Device name: {device.FriendlyName}")
if any(keyword in device.FriendlyName for keyword in ["Microphone", "Mikrofon", "Kopfhörermikrofon"]):
try:
interface = device.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
volume = interface.QueryInterface(IAudioEndpointVolume)
volume.SetMasterVolumeLevelScalar(volume_level / 100.0, None)
print(f"Volume for {device.FriendlyName} set to {volume_level}%")
except Exception as e:
print(f"Failed to set volume for {device.FriendlyName}: {e}")

while True:
set_microphone_volume(100)
time.sleep(5)
Настройка виртуальной среды:
Создание виртуальной среды:

Код: Выделить всё

python3 -m venv mic_volume_venv
Активируйте виртуальную среду:

Код: Выделить всё

.\mic_volume_venv\Scripts\activate
Обновите pip и инструменты настройки:

Код: Выделить всё

python -m pip install --upgrade pip setuptools
Установите необходимые модули:

Код: Выделить всё

python -m pip install pycaw comtypes
Ошибка:

Код: Выделить всё

Traceback (most recent call last):
File "C:\path\to\StaticMicVolume.py", line 43, in 
set_microphone_volume(100)
File "C:\path\to\StaticMicVolume.py", line 36, in set_microphone_volume
interface = device.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
AttributeError: 'AudioDevice' object has no attribute 'Activate'
Будем благодарны за любую помощь или предложения!


Подробнее здесь: https://stackoverflow.com/questions/792 ... e-activate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»