@agentscope-ai/design 1.0.26-beta.1768890319874 → 1.0.26-beta.1768906295632

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,6 +55,7 @@ var Audio = /*#__PURE__*/forwardRef(function (props, ref) {
55
55
  muted = _useControllableValue2[0],
56
56
  setMuted = _useControllableValue2[1];
57
57
  var audioRef = useRef(null);
58
+ var isFirstSrcRef = useRef(true);
58
59
 
59
60
  // 合并refs
60
61
  var combinedRef = function combinedRef(element) {
@@ -68,6 +69,18 @@ var Audio = /*#__PURE__*/forwardRef(function (props, ref) {
68
69
  }
69
70
  };
70
71
 
72
+ // 监听src变化,重新加载音频
73
+ useEffect(function () {
74
+ // 跳过首次设置
75
+ if (isFirstSrcRef.current) {
76
+ isFirstSrcRef.current = false;
77
+ return;
78
+ }
79
+ if (audioRef.current && audioProps.src) {
80
+ audioRef.current.load();
81
+ }
82
+ }, [audioProps.src]);
83
+
71
84
  // 监听isPlaying状态来控制定时器
72
85
  useEffect(function () {
73
86
  var clock;
@@ -13,7 +13,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
13
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
14
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
15
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
- import React, { forwardRef, useEffect, useState, useRef } from 'react';
16
+ import React, { forwardRef, useEffect, useState, useRef, useCallback } from 'react';
17
17
  import classNames from 'classnames';
18
18
  import MediaPlayerController from "../Audio/Control";
19
19
  import { useControllableValue } from 'ahooks';
@@ -59,6 +59,7 @@ var Video = /*#__PURE__*/forwardRef(function (props, ref) {
59
59
  setEnableVolume = _useState8[1];
60
60
  var videoRef = useRef(null);
61
61
  var lockMouseEnterAutoPlayRef = useRef(false);
62
+ var isFirstSrcRef = useRef(true);
62
63
 
63
64
  // 合并refs
64
65
  var combinedRef = function combinedRef(element) {
@@ -72,6 +73,18 @@ var Video = /*#__PURE__*/forwardRef(function (props, ref) {
72
73
  }
73
74
  };
74
75
 
76
+ // 监听src变化,重新加载视频
77
+ useEffect(function () {
78
+ // 跳过首次设置
79
+ if (isFirstSrcRef.current) {
80
+ isFirstSrcRef.current = false;
81
+ return;
82
+ }
83
+ if (videoRef.current && videoProps.src) {
84
+ videoRef.current.load();
85
+ }
86
+ }, [videoProps.src]);
87
+
75
88
  // 监听isPlaying状态来控制定时器
76
89
  useEffect(function () {
77
90
  var clock;
@@ -91,10 +104,7 @@ var Video = /*#__PURE__*/forwardRef(function (props, ref) {
91
104
  }
92
105
  };
93
106
  }, [isPlaying]);
94
-
95
- // 检测视频是否有音频通道
96
- var handleCanPlayThrough = function handleCanPlayThrough(e) {
97
- var _videoProps$onCanPlay;
107
+ var checkHasAudio = useCallback(function () {
98
108
  if (videoRef.current) {
99
109
  // 方法1: 检查mozHasAudio属性 (Firefox)
100
110
  if ('mozHasAudio' in videoRef.current) {
@@ -109,7 +119,15 @@ var Video = /*#__PURE__*/forwardRef(function (props, ref) {
109
119
  setEnableVolume(false);
110
120
  }
111
121
  }
122
+ }, []);
123
+
124
+ // 检测视频是否有音频通道
125
+ var handleCanPlayThrough = function handleCanPlayThrough(e) {
126
+ var _videoProps$onCanPlay;
112
127
  (_videoProps$onCanPlay = videoProps.onCanPlayThrough) === null || _videoProps$onCanPlay === void 0 || _videoProps$onCanPlay.call(videoProps, e);
128
+ setTimeout(function () {
129
+ checkHasAudio();
130
+ }, 100);
113
131
  };
114
132
 
115
133
  // 视频加载完成处理
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentscope-ai/design",
3
- "version": "1.0.26-beta.1768890319874",
3
+ "version": "1.0.26-beta.1768906295632",
4
4
  "description": "AgentScope Spark Design - UI Library for AgentScope AI",
5
5
  "repository": {
6
6
  "type": "git",