Ошибка атрибута при импорте модуля VLC в python - PullRequest
0 голосов
/ 16 февраля 2019

Когда я пытаюсь запустить этот код:

import cv2
import vlc
cam = cv2.VideoCapture(0)
m = vlc.MediaPlayer('D:\faith-42201.mp3')
fd = cv2.CascadeClassifier(r'C:\Users\Shivani Khare\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml')
m.play()
flag=1
m.audio_set_volume(100)
while(True):
    r,i = cam.read()
    #i[0:10,:,:]=255
    #for adding rows
    j = cv2.cvtColor(i,cv2.COLOR_BGR2GRAY)
    face = fd.detectMultiScale(j,1.3,7)
    for (x,y,w,h) in face:
        cv2.rectangle(i,(x,y),(x+w,y+h),(0,0,0),-1)
        t = w*h
        m.audio_set_volume(100-int(t/500))
        l = len(face)
        if(l>0):
            m.play()
            flag = 0
        elif(flag==0):
            m.pause()
            flag = 1
    print("no of faces are : ",len(face),face)
    cv2.imshow('image1',i)

    k = cv2.waitKey(5)
    print(k)
    if(k==27):
        cv2.destroyAllWindows()
        break

Я получаю эту ошибку:

Трассировка (последний последний вызов):

Файл "C:\ Users \ Shivani Khare \ AppData \ Local \ Programs \ Python \ Python36 \ hi.py ", строка 5, в файле m = vlc.MediaPlayer ('D: \ faith-42201.mp3')" C: \ Users \ ShivaniKhare \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ vlc.py ", строка 3184, в новом o.set_media (instance.media_new (* args)) файле" C:\ Users \ Shivani Khare \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ vlc.py ", строка 1788, в media_new m._instance = self AttributeError: 'Объект NoneType' не имеет атрибута '_instance '

Пожалуйста, помогите

1 Ответ

0 голосов
/ 16 февраля 2019

Вы передаете список в конструкторе MediaPlayer в строке # 5, но он ожидает строку (ref: https://linuxconfig.org/how-to-play-audio-with-vlc-in-python).

Попробуйте внести это изменение:

m = vlc.MediaPlayer('D:\faith-42201.mp3')
...