优化一下时长计算问题
This commit is contained in:
@@ -237,7 +237,15 @@ class MessageMixin(WechatAPIClientBase):
|
||||
media_info = MediaInfo.parse(video_path)
|
||||
else:
|
||||
raise ValueError("video should be str, bytes, or path")
|
||||
duration = media_info.tracks[0].duration
|
||||
# 获取视频时长
|
||||
duration = None
|
||||
for track in media_info.tracks:
|
||||
if track.track_type == "Video" and track.duration is not None:
|
||||
duration = track.duration / 1000 # 将毫秒转换为秒
|
||||
break
|
||||
if duration is None:
|
||||
duration = 1
|
||||
self.logging.error(f"无法从视频文件获取时长: {video}")
|
||||
|
||||
# get image base64
|
||||
if isinstance(image, str):
|
||||
@@ -256,7 +264,7 @@ class MessageMixin(WechatAPIClientBase):
|
||||
self.logging.info("开始发送视频: 对方wxid:{} 视频base64略 图片base64略 预计耗时:{}秒", wxid, predict_time)
|
||||
|
||||
async with aiohttp.ClientSession() as session:
|
||||
json_param = {"Wxid": self.wxid, "ToWxid": wxid, "Base64": "data:video/mp4;base64,"+vid_base64,
|
||||
json_param = {"Wxid": self.wxid, "ToWxid": wxid, "Base64": "data:video/mp4;base64," + vid_base64,
|
||||
"ImageBase64": "data:image/jpeg;base64," + image_base64,
|
||||
"PlayLength": duration}
|
||||
# self.logging.debug(f"json_param::{json_param}")
|
||||
|
||||
Reference in New Issue
Block a user