You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SpotifyAPI-NET设置Spotify桌面端播放进度的技术咨询

解决SpotifyAPI-NET设置播放进度的问题

我刚好也碰到过一模一样的情况——用JohnnyCrazy的SpotifyAPI-NET控制桌面客户端时,播放/暂停功能跑得很顺,但死活找不到调整播放进度的方法。其实问题核心是SpotifyLocalAPI这个封装库没把底层本地HTTP API的进度调整端点暴露出来,不过咱们可以手动构造请求绕开这个限制。

具体操作步骤:

  1. 复用已有令牌:你之前调用播放/暂停时用到的oauth和csrf令牌,完全可以复用在进度调整请求里。确保代码里已经通过库的GetOAuthToken()和GetCsrfToken()方法拿到并保存了这两个值。
  2. 构造Seek请求:Spotify本地服务(127.0.0.1:4381)提供了/remote/seek.json端点专门用来调整播放进度,需要传这几个关键参数:
    • pos:要跳转的目标秒数(比如你需要的64)
    • oauth:你的OAuth令牌
    • csrf:你的CSRF令牌
    • 额外的callback参数(直接照搬播放暂停请求里的格式就行,比如callback=spotifyCallback)

C#示例代码:

using System.Net.Http;

// 假设已经获取到oauthToken和csrfToken
string oauthToken = "你的OAuth令牌";
string csrfToken = "你的CSRF令牌";
int targetPosition = 64; // 目标播放位置(单位:秒)

using (var client = new HttpClient())
{
    var requestUrl = $"http://127.0.0.1:4381/remote/seek.json?pos={targetPosition}&oauth={oauthToken}&csrf={csrfToken}&callback=spotifyCallback";
    var response = await client.GetAsync(requestUrl);
    response.EnsureSuccessStatusCode(); // 验证请求是否成功
}

额外建议:

如果想让这个功能更贴合库的使用逻辑,可以考虑给SpotifyAPI-NET项目提交一个PR,把SetPlayingPosition方法封装进去——底层API本身是支持的,只是库还没实现这个接口而已。

内容的提问来源于stack exchange,提问作者M1S2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:05:33