8. Функции Audio¶
!ВНИМАНИЕ! ДЛЯ КОРРЕКТНОЙ РАБОТЫ МОДУЛЯ ТРЕБУЕТСЯ КОМПОНЕНТ ffmpeg.exe (Для Windows x64 можно найти в pyOpenRPAResourcesWAudio). На него должен указывать один из путей в переменной окружения PATH. Или ffmpeg.exe должен быть расположен в рабочей директории (working directory)
!ВНИМАНИЕ! ДЛЯ ВИРТУАЛЬНОЙ МАШИНЫ МОЖЕТ ПОТРЕБОВАТЬСЯ КОМПОНЕНТ ВИРТУАЛЬНОГО АУДИОДРАЙВЕРА (Для Windows x64 можно найти в pyOpenRPAResourcesWAudioVBCABLE_Driver_Pack43.zip)
Общее¶
Дорогие коллеги!
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в 10 тыс. руб. И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: 2. Лицензия & Контакты
pyOpenRPA - роботы помогут!
Класс Recorder¶
Экземпляр класса pyOpenRPA.Robot.Audio.Recorder, который обеспечивает захват звука (с микрофона или из приложений) и сохраняет в виде аудиофайла (множества аудиофайлов)
Описание функций¶
Описание каждой функции начинается с обозначения L-,W+, что означает, что функция не поддерживается в ОС Linux (L) и поддерживается в Windows (W)
Functions:
L-,W+: Вернуть список аудио устройст (входящих и исходящих, микрофонов и динамиков). |
|
L-,W+: Выполнить поиск устройства, с помощью которого можно будет выполнить захват c микрофона. |
|
L-,W+: Выполнить поиск устройства, с помощью которого можно будет выполнить захват аудио, которое поступает из приложений. |
- pyOpenRPA.Robot.Audio.DeviceListGet()[исходный код]¶
L-,W+: Вернуть список аудио устройст (входящих и исходящих, микрофонов и динамиков).
from pyOpenRPA.Robot import Audio Audio.DeviceListGet()
- Результат
- [{«IndexInt»:1, «NameStr»: «»,
«HostApiInt»: 0, «HostApiStr»: «MME»|»Windows WASAPI»|»Windows WDM-KS», «MaxInputChannelsInt»: 0, «MaxOutputChannelsInt»: 0, «DefaultSampleRateFloat»: 44100.0
},…]
- Тип результата
list
- pyOpenRPA.Robot.Audio.DeviceMicrophoneIndex()[исходный код]¶
L-,W+: Выполнить поиск устройства, с помощью которого можно будет выполнить захват c микрофона.
- pyOpenRPA.Robot.Audio.DeviceSystemSoundIndex()[исходный код]¶
L-,W+: Выполнить поиск устройства, с помощью которого можно будет выполнить захват аудио, которое поступает из приложений. Например: аудиоконференции Zoom, whatsapp, telegram и т.д.
- class pyOpenRPA.Robot.Audio.Recorder(inDeviceInt=None)[исходный код]¶
Methods:
CaptureChunk
([inExtra, inForceChunkBool, ...])L-,W+: Зафиксировать захват аудио в виде промежуточного файла вида: <имя файла>_00000.mp3
CaptureStart
([inFolderPathStr, ...])L-,W+: Начать запись звука
CaptureStop
([inWaitStream, inExtra])L-,W+: Остановить захват аудио
CaptureWait
([inWaitCallbackChunkBool, ...])L-,W+: Ожидать окончания захвата аудио.
FileInfoGet
([inFileNameStr])L-,W+: Вернуть информацию по аудиофайлу inFileNameStr.
L-,W+: Вернуть наименование последнего сохраненного аудиофайла
L-,W+: Вернуть список сохраненных аудиофайлов (наименования)
L-,W+: Вернуть статус записи звука
- CaptureChunk(inExtra=None, inForceChunkBool=True, inShiftSecFloat=0.0)[исходный код]¶
L-,W+: Зафиксировать захват аудио в виде промежуточного файла вида: <имя файла>_00000.mp3
- Параметры
inExtra (any, опционально) – Дополнительный контент, необходимый для идентификации файла. В дальнейшем получить структуру можно с помощью функции FileInfoGet()[„Extra“], по умолчанию None
inForceChunkBool (bool, опционально) – True - вне зависимости от текущего режима перейти на режим сохранения по частям, по умолчанию True
inShiftSecFloat (float) – Последние секунды, которые не записывать в промежуточный аудиофайл. Они будут началом следующего аудио отрывка, по умолчанию 0.0
- Результат
Наименование сохраненного аудиофайла
- Тип результата
str
- CaptureStart(inFolderPathStr='', inFileNameStr='out', inFileFormatStr='mp3', inDurationSecFloat=None, inChunkSecFloat=300.0, inCallbackChunkDef=None, inCallbackStopDef=None)[исходный код]¶
L-,W+: Начать запись звука
def CallbackChunk(lRec, lFilenameStr): pass # КОД ОБРАБОТКИ ПОСЛЕ СОХРАНЕНИЯ ЧАСТИ from pyOpenRPA.Robot import Audio lRec = Audio.Recorder() lRec.CaptureStart(inFileNameStr = "out", inFileFormatStr = "mp3", inDurationSecFloat = None, inChunkSecFloat = 5.0, inCallbackChunkDef=CallbackChunk) lRec.CaptureStop()
- Параметры
inFolderPathStr (str, опционально) – Путь к папке, в которую сохранять аудиофайлы захвата , по умолчанию «»
inFileNameStr (str, опционально) – Наименование файла без расширения, по умолчанию «out»
inFileFormatStr (str, опционально) – Наименование формата, в который будет происходить сохранение («mp3» или «wav» или «raw» или «aif»), по умолчанию «mp3»
inDurationSecFloat (float, опционально) – Длительность захвата аудио, по умолчанию None (пока не поступит команда CaptureStop() )
inChunkSecFloat (float, опционально) – Максимальная длина части аудиофайла, по умолчанию 300.0
inCallbackChunkDef (def, опционально) – Функция, которая будет инициирована в случае выполнения Chunk сохранения (сохранение части). Callback функция должна принимать 2 аргумента: экземпляр класса Recorder и наименование сохраненного файла. Внимание! Функция запускается асинхронно!
inCallbackStopDef (def, опционально) – Функция, которая будет инициирована в случае окончания записи. Callback функция должна принимать 2 аргумента: экземпляр класса Recorder и наименование сохраненного файла. Внимание! Функция запускается асинхронно!
- CaptureStop(inWaitStream=True, inExtra=None)[исходный код]¶
L-,W+: Остановить захват аудио
- Параметры
inWaitStream (bool, опционально) – True - выполнить ожидание окончания потока захвата перед окончанием, по умолчанию True
inExtra (any, опционально) – Дополнительный контент, необходимый для идентификации файла. В дальнейшем получить структуру можно с помощью функции FileInfoGet()[„Extra“], по умолчанию None
- CaptureWait(inWaitCallbackChunkBool=True, inWaitCallbackStopBool=True)[исходный код]¶
L-,W+: Ожидать окончания захвата аудио. Дополнительно настраивается ожидание окончания всех callback функций.
- Параметры
inWaitCallbackChunkBool (bool, опционально) – True - ожидать выполнение всех асинхронных callback по сохранению части аудиофайла, по умолчанию True
inWaitCallbackStopBool (bool, опционально) – True - ожидать выполнение всех асинхронных callback по завершению записи, по умолчанию True
- FileInfoGet(inFileNameStr=None)[исходный код]¶
L-,W+: Вернуть информацию по аудиофайлу inFileNameStr. Если inFileNameStr == None -> Функция вернет информацию по последнему записанному файлу
- Параметры
inFileNameStr (str, опционально) – Наименование аудиофайла с указанием расширения, по умолчанию None (взять последний записанный файл)
- Результат
{StartSecFloat:, EndSecFloat:, Extra:, PathStr:, } или None
- Тип результата
dict
- FileLastGet()[исходный код]¶
L-,W+: Вернуть наименование последнего сохраненного аудиофайла
- Результат
[«out_00000.mp3», «out_00001.mp3», …]
- Тип результата
list
- FileListGet()[исходный код]¶
L-,W+: Вернуть список сохраненных аудиофайлов (наименования)
- Результат
[«out_00000.mp3», «out_00001.mp3», …]
- Тип результата
list
- StatusGet()[исходный код]¶
L-,W+: Вернуть статус записи звука
- Результат
«0_READY» или «1_RECORDING»
- Тип результата
str