refactor: 完成 0.4.0 版本更新
完成 0.4.0 版本更新, 为了消除此前提交消息风格不一致与错误提交超大文件的问题, 维持代码统计数据的准确性和提交消息风格的一致性, 重新初始化仓库; 旧的提交历史在 HeurAMS-legacy 仓库(https://gitea.imwangzhiyu.xyz/ajax/HeurAMS-legacy)
This commit is contained in:
14
src/heurams/providers/audio/__init__.py
Normal file
14
src/heurams/providers/audio/__init__.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# 音频播放器, 必须基于文件操作
|
||||
from . import termux_audio
|
||||
from . import playsound_audio
|
||||
from heurams.services.logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
__all__ = [
|
||||
"termux_audio",
|
||||
"playsound_audio",
|
||||
]
|
||||
|
||||
providers = {"termux": termux_audio, "playsound": playsound_audio}
|
||||
logger.debug("音频 providers 已注册: %s", list(providers.keys()))
|
||||
21
src/heurams/providers/audio/playsound_audio.py
Normal file
21
src/heurams/providers/audio/playsound_audio.py
Normal file
@@ -0,0 +1,21 @@
|
||||
"""通用音频适配器
|
||||
基于 playsound 库的音频播放器, 在绝大多数 python 环境上提供音频服务
|
||||
注意: 在未配置 pulseaudio 的 termux 不可用
|
||||
"""
|
||||
|
||||
import os
|
||||
import pathlib
|
||||
import playsound
|
||||
from heurams.services.logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
def play_by_path(path: pathlib.Path):
|
||||
logger.debug("playsound_audio.play_by_path: 开始播放 %s", path)
|
||||
try:
|
||||
playsound.playsound(str(path))
|
||||
logger.debug("播放完成: %s", path)
|
||||
except Exception as e:
|
||||
logger.error("播放失败: %s, 错误: %s", path, e)
|
||||
raise
|
||||
12
src/heurams/providers/audio/protocol.py
Normal file
12
src/heurams/providers/audio/protocol.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from typing import Protocol
|
||||
import pathlib
|
||||
from heurams.services.logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
class PlayFunctionProtocol(Protocol):
|
||||
def __call__(self, path: pathlib.Path) -> None: ...
|
||||
|
||||
|
||||
logger.debug("音频协议模块已加载")
|
||||
22
src/heurams/providers/audio/termux_audio.py
Normal file
22
src/heurams/providers/audio/termux_audio.py
Normal file
@@ -0,0 +1,22 @@
|
||||
"""Termux 音频适配
|
||||
适配 Termux 的 play-audio 命令, 以在 android 上提供可用的播放体验
|
||||
无需配置 pulseaudio
|
||||
"""
|
||||
|
||||
import os
|
||||
import pathlib
|
||||
from heurams.services.logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
# from .protocol import PlayFunctionProtocol
|
||||
|
||||
|
||||
def play_by_path(path: pathlib.Path):
|
||||
logger.debug("termux_audio.play_by_path: 开始播放 %s", path)
|
||||
try:
|
||||
os.system(f"play-audio {path}")
|
||||
logger.debug("播放命令已执行: %s", path)
|
||||
except Exception as e:
|
||||
logger.error("播放失败: %s, 错误: %s", path, e)
|
||||
raise
|
||||
Reference in New Issue
Block a user