---
title: "流式播放歌曲"
method: GET
path: "/songs/{id}/play.m3u8"
tags: ["歌曲管理"]
---

# 流式播放歌曲

`GET /songs/{id}/play.m3u8`

按 song.ID 流式返回音频。内部根据 song.type 分发到本地文件 / 缓存下载 / 直链下载 / 电台 302。

## Path parameters

- `id` integer, required

## Query parameters

- `format` string
- `quality` string
- `prefetch` string
- `media` string
- `hls` string

## Response `200`

音频文件

## Other responses

- `202` — 预拉取已触发
- `302` — 电台流重定向
- `404` — 歌曲不存在
- `502` — 音源不可用

## Changes

- **2026-07-16** `7cbe0940a38b` — 1 info
  - added the new optional `query` request parameter `hls`
- **2026-07-15** `9964dd35fffa` — 1 info
  - added the new optional `query` request parameter `media`
- **2026-06-26** `be19914b7eed` — 2 warning
  - deleted the `query` request parameter `hls`
  - deleted the `query` request parameter `media`

[Change history](https://skmtc.dev/songloft-org/apis/songloft-api/changes/songs/:id/play.m3u8/get.md)

---

[API](https://skmtc.dev/songloft-org/apis/songloft-api.md) · [All operations](https://skmtc.dev/songloft-org/apis/songloft-api/llms.txt) · [OpenAPI document](https://skmtc.dev/songloft-org/apis/songloft-api/revisions/7cbe0940a38b?raw)
