Electron 播放¶
现有的 Electron 预览、参考、历史和生成输出的播放通过 components/media-player.tsx 使用 Vidstack。生成会存储结果及其自动播放意图;只有可见的输出播放器才会开始播放。共享播放所有者会先暂停另一个预览,然后再接管。
WaveSurfer 使用 Vidstack 拥有的音频元素进行波形可视化。它不拥有第二个播放器。Blob 和无扩展名的 API 源通过 audioSource 显式使用原生 MIME 嗅探;否则 Vidstack 会将 blob 推断为视频。Seek 输入只处理一次 input 事件,避免在提供器报告 seeked 之前,第二个 change 事件将之前的受控值恢复回来。
在开发渲染器运行时执行 node electron/tests/playback-smoke.mjs。该测试使用合成的 WAV/profile/生成响应,并且从不保存用户数据。设置 PLAYWRIGHT_CHANNEL 或 VOICESTUDIO_UI_URL 以使用其他已安装的浏览器/服务器。
HLS 和 DASH 库已打包并懒加载。共享提供器支持选择 Vidstack 的原生音频/视频、HLS、DASH、YouTube 和 Vimeo。图库搜索预览使用嵌入的 YouTube 提供器;配音使用自定义的 Vidstack 视频控件进行本地和标准化 URL 导入。原生视频 MIME 提示会在其 <video> 元素连接之前选择提供器,无扩展名的配音路由则使用后端规范化的 MP4 类型。这些端点还支持低成本的仅元数据 HEAD 请求。工作流可以将任何其他受支持的源传给同一个共享播放器,而无需创建另一个播放栈。
视频预览使用玻璃渐变叠加层,并提供播放/暂停、10 秒跳转、静音、音量、播放速率和进入/退出全屏控件。配音在更换预览源时保持一个 Vidstack 实例,添加带版本的字节范围 URL,并在准备第一个预览时显示源缩略图。音频预览按钮会显示等待/缓冲中和不可用状态,而不是静默吞掉播放失败。纯音频配音的预览会将配音轨道与背景混合一次,并在每次跳转时重复使用该文件;重新生成轨道会替换旧的混音。播放标签已在所有应用语言环境中翻译。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio