1. SSE
Metabox-Nexus-WesingCap
  • SSE
    • lyric_update-SSE
      GET
    • song_info-SSE
      GET
  • ws
  • health-check
    GET
  • service-status
    GET
  • all_lyrics
    GET
  • lyric_update
    GET
  • status_update
    GET
  • song_info
    GET
  1. SSE

lyric_update-SSE

开发中
正式环境
localhost:8765
正式环境
localhost:8765
GET
/lyric_update-SSE

7. /lyric_update-SSE - 实时歌词推送#

连接建立时: 始终立即发送一条当前歌词状态(有歌词时发送歌词数据,无歌词时发送 "data":{})。
初始发送(无歌词时):
data: {"type":"lyric_update","data":{}}
初始发送(有歌词时):
data: {"type":"lyric_update","data":{"line_index":5,"text":"君に嘘をついていた","timestamp":9.0,"play_time":9.15,"progress":0.5}}
播放过程中,每当歌词更新时接收:
data: {"type":"lyric_update","data":{"line_index":3,"text":"手を伸ばしても届かない","timestamp":3.8,"play_time":3.85,"progress":0.25}}

data: {"type":"lyric_update","data":{"line_index":4,"text":"深い森の奥へ迷い込む","timestamp":5.5,"play_time":5.6,"progress":0.3333}}

data: {"type":"lyric_update","data":{"line_index":5,"text":"君に逢いたい","timestamp":7.2,"play_time":7.3,"progress":0.4167}}

data: {"type":"lyric_update","data":{"line_index":6,"text":"君に嘘をついていた","timestamp":9.0,"play_time":9.15,"progress":0.5}}
歌曲停止或K歌窗口关闭时(只发送一次):
data: {"type":"lyric_update","data":{}}
K歌窗口关闭时,主动推送此消息清空歌词状态
只发送一次(状态变化时),之后不会重复循环发送
客户端接收到 data: {} 时应清空显示的歌词内容
完整生命周期示例:
(连接建立,当前无歌词)
data: {"type":"lyric_update","data":{}}

(用户开始播放歌曲)
data: {"type":"lyric_update","data":{"line_index":0,"text":"男:摘一颗苹果","timestamp":18.326,"play_time":18.15,"progress":0.05}}
data: {"type":"lyric_update","data":{"line_index":1,"text":"男:等你从门前经过","timestamp":20.198,"play_time":20.05,"progress":0.1}}
data: {"type":"lyric_update","data":{"line_index":2,"text":"男:送到你的手中帮你解渴","timestamp":23.162,"play_time":23.0,"progress":0.15}}

(用户关闭K歌窗口)
data: {"type":"lyric_update","data":{}}
特性:
✅ 完全支持 UTF-8 编码(中文、日文、韩文、俄文等所有语言)
✅ 服务器设置了 Content-Type: text/event-stream; charset=utf-8
✅ 连接时始终立即发送当前状态(不会因无数据而不发送)
✅ 支持空对象消息用于清空歌词状态(仅在状态改变时发送)
实时推送,延迟极低
支持跨域(CORS)
客户端使用示例(JavaScript):

请求参数

无

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request GET 'localhost:8765/lyric_update-SSE'

返回响应

🟢200成功
application/json
Body

示例
"type": "lyric_update",
"data": {
    "line_index": 0,
    "text": "男:摘一颗苹果",
    "timestamp": 18.326,
    "play_time": 18.15,
    "progress": 0.05
}
修改于 2026-03-19 17:05:55
下一页
song_info-SSE
Built with