Как воспроизвести файл wav и заставить ваш код продолжать работать в python? - PullRequest
1 голос
/ 29 мая 2020

У меня есть этот код, который воспроизводит видео и что-то обнаруживает на нем. Каждый раз, когда он обнаруживает что-то в видео, я хочу что-то услышать, вот код:

import cv2
import os
video_capture = cv2.VideoCapture('video')
while True:
    _, frame = video_capture.read()
    found = detect_something(frame)
    if found :
        os.system("aplay 'alarm'")
    cv2.imshow('Video',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
video_capture.release()
cv2.destroyAllWindows()

Проблема в том, что каждый раз, когда он воспроизводит сигнал будильника, видео зависает. Я хочу, чтобы будильник воспроизводился как фоновый звук. Как я могу это сделать?

1 Ответ

1 голос
/ 29 мая 2020

Нужен протектор:

import cv2
import os
from threading import Thread # Import Thread here
video_capture = cv2.VideoCapture('video')

def music(): # Define a function to go in the Thread
    os.system("aplay 'alarm'")

while True:
    _, frame = video_capture.read()
    found = detect_something(frame)
    if found :
        mus = Thread(target=music) # Create a Thread each time found
        mus.start() # Start the Thread as soon as created
    cv2.imshow('Video',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
video_capture.release()
cv2.destroyAllWindows()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...