Как получить доступ к Mac OS X микрофон внутри док-контейнера? - PullRequest
0 голосов
/ 15 февраля 2019

Я использую докер-контейнер с кодом Python, который записывает звук в течение нескольких секунд, используя встроенный в MacBook Pro встроенный микрофон.

Часть моей задачи - определить, как обеспечить доступ к микрофону Macbook Pro внутри контейнера Docker и совместно использовать его.Большинство существующих вопросов о переполнении стека или где-либо еще предоставляют решения для дистрибутивов на основе Linux, но мне не очень повезло сделать то же самое с Mac OS.

Сведения о версии ОС:

System Version: macOS 10.14.2 (18C54)
Kernel Version: Darwin 18.2.0

Docker:

Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:39 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Код Python прост и работает, как и ожидалось, на хосте.

import sounddevice as sd
import numpy as np
fs = 48000
duration=5
rec = sd.rec(int(duration * fs), samplerate=fs, channels=1, blocking=True)
print(rec)

Вот файл Docker:

FROM python:3

RUN apt-get -y update
RUN apt-get -y install libasound-dev
RUN apt-get -y install portaudio19-dev

WORKDIR /usr/src/app
COPY requirements.txt ./
COPY AudioRecordingTest.py ./
RUN pip install -r requirements.txt
CMD [ "python", "./AudioRecordingTest.py" ]
docker build -t audiorecording:1.0 .

docker run -it --rm --device --privileged=true DONT_KNOW_ABOUT_THIS_PART:/dev/snd  audiorecording:1.0 

В идеале должен иметь возможность монтировать / использовать микрофон, как вы это делаете, когда Linux является хостом.Если нет, каковы другие возможные решения?

docker run -it --rm --device --privileged=true DONT_KNOW_ABOUT_THIS_PART:/dev/snd  audiorecording:1.0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...