From f446733bb2f8ab39cc197a06409a9a1c6fb89a1a Mon Sep 17 00:00:00 2001 From: Christoph Stahl Date: Thu, 10 Oct 2024 09:53:41 +0200 Subject: [PATCH] simplified external audio loading --- syng/player_libmpv.py | 6 +++--- typings/mpv.pyi | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/syng/player_libmpv.py b/syng/player_libmpv.py index d29063c..2d28927 100644 --- a/syng/player_libmpv.py +++ b/syng/player_libmpv.py @@ -91,10 +91,10 @@ class Player: loop = asyncio.get_running_loop() self.mpv.pause = True - self.mpv.play(video) - await loop.run_in_executor(None, self.mpv.wait_for_event, "file-loaded") if audio: - self.mpv.audio_add(audio) + self.mpv.loadfile(video, audio_file=audio) + else: + self.mpv.loadfile(video) self.mpv.pause = False await loop.run_in_executor(None, self.mpv.wait_for_property, "eof-reached") self.mpv.play(f"{__dirname__}/static/background.png") diff --git a/typings/mpv.pyi b/typings/mpv.pyi index e0ea1cf..ef73912 100644 --- a/typings/mpv.pyi +++ b/typings/mpv.pyi @@ -1,4 +1,4 @@ -from typing import Any, Callable, Iterable, Protocol +from typing import Any, Callable, Iterable, Optional, Protocol from PIL.Image import Image @@ -34,5 +34,6 @@ class MPV: def create_image_overlay(self, image: Image, pos: tuple[int, int]) -> ImageOverlay: ... def remove_overlay(self, overlay_id: int) -> None: ... def observe_property(self, property: str, callback: Callable[[str, Any], None]) -> None: ... + def loadfile(self, file: str, audio_file: Optional[str] = None) -> None: ... def __setitem__(self, key: str, value: str) -> None: ... def __getitem__(self, key: str) -> str: ...