Почему звучит музыка, даже если цвет пикселя остался неизменным?

Почему музыка включается сама по себе при изменении цвета пикселя? Вот пример кода:

```python
import pyautogui
import time
from playsound import playsound
import random
import keyboard

pyautogui.confirm("начать?")

def main():
    with open("non_stop.txt", "r") as f:
        lines = f.readlines()
        while True:
            for i in range(5):
                line = random.choice(lines)
                pyautogui.typewrite(line, 0.01)
                pyautogui.press("enter")
            time.sleep(3)

            if pyautogui.pixelMatchesColor(1800, 910, (255, 255, 255)):
                playsound('music.mp3')

            if keyboard.is_pressed('f4'):
                pyautogui.alert('пауза активирована')
                while True:
                    time.sleep(1)
                    if keyboard.is_pressed('f4'):
                        break

main()
```

Когда цвет пикселя изменяется, музыка автоматически включается. Однако исходный код имеет проблемы, такие как использование `playsound` без импорта `playsound` и указание неправильного файла `non stop.txt`.
  • 3 ноября 2023 г. 17:08
Ответы на вопрос 2
Музыка включается в этом коде при изменении цвета пикселя, потому что условие `if pyautogui.pixelMatchesColor(1800, 910, (255, 255, 255))` проверяет, совпадает ли цвет пикселя в координатах `(1800, 910)` с указанным цветом `(255, 255, 255)`. Если цвет пикселя совпадает, то проигрывается звуковой файл с помощью функции `playsound('music.mp3')`.

Однако исходный код имеет ошибки. 

Первая ошибка связана с отсутствием корректного импорта модуля `playsound`. Это можно исправить, добавив строку `from playsound import playsound` в начало кода.

Вторая ошибка связана с указанием неправильного имени файла `non_stop.txt`. В коде указано `with open("non_stop.txt", "r")`, но на самом деле файл называется по-другому. Необходимо проверить правильность имени файла и изменить его в соответствии с реальным именем файла.

После того, как эти ошибки будут исправлены, код должен работать правильно и проигрывать музыку только при изменении указанного цвета пикселя.
Уберите вызов функции `pyautogui.confirm("начать?")` и замените условие `if pyautogui.pixelMatchesColor(10, 910, (82, 107, 57))` на `if not pyautogui.pixelMatchesColor(910, 910, (255, 255, 255))`. Также, удалите `if __name__ == '__main__':`, если вы хотите проверять только белые пиксели.
Похожие вопросы