问题标签 [grooveshark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2941 浏览

facebook - 如何使用音乐小部件将grooveshark 音乐网址分享到Facebook?

我正在尝试通过 facebook api 向 facebook 发布grooveshark url,但是每当我分享时,例如,http ://grooveshark.com/#!/s/~/4C47F9 (通过 api)我不能正确播放在 facebook 上,我被重定向到带有播放该音乐的音乐小部件的网页。
但是,如果我将上面的链接复制粘贴到 facebook,我就可以在 facebook 上播放音乐。
怎么了?我在发帖时使用“url”字段。
自己试试吧。

我通过一个objective-c框架使用facebook api。代码是:

0 投票
1 回答
999 浏览

python - Grooveshark 提前关闭连接 (httplib.BadStatusLine)

我正在尝试连接到grooveshark。因为这个 python 是我选择的语言。但我撞到了一堵砖墙。看起来grooveshark最近改变了他们协议的一部分,或者我可能遇到了python的限制。

我正在与来自 github 的 JackTheRipper51 “一起”工作,他为grooveshark 制作了这个库:https ://github.com/jacktheripper51/groove-dl 它实际上不是一个库,但我很快重新编码为一个库。

本周早些时候它运行良好,我可以将它用于我的项目。但是 2 天前它开始在 getToken 函数上失败,httplib 开始返回httplib.BadStatusLine: '',从我的研究来看,这意味着服务器提前关闭了连接。

从这项研究中,我开始查看grooveshark 的javascript 和flash 源代码,但这并没有返回任何有价值的东西。所以我做了任何理智的人花了 5 个小时查看反编译的动作脚本而之前从未在其中编写过一行代码,并将其归咎于 Groovesharks 服务器。

具体来说,我认为grooveshark可能会拒绝具有Connection: close标题的连接。因此,我决定在REST ConsoleChrome 的扩展程序中对其进行测试。

我让python脚本转储了它正在编码的json,然后我将它粘贴到Rest Console,点击POST,它返回了预期的数据。我现在确定我是对的并非不可能。

我的下一步是在Connection: keep-alive我拥有的 httplib2(因为它支持)中编码,但问题仍然存在。

我已经在wireshark中进行了测试(删除了https中的SSL,它确实发送了Connection: keep-alive,这会导致grooveshark响应,但是使用https required

我只修改了一小部分代码。

完全改变了 getToken()

我添加了 httplib2 初始化的内容:

我导入了httplib2:

我还重命名了 json 构造函数,只是因为我想要更具描述性。

完整的追溯是:

是什么导致了 BadStatusLine,我该如何解决它。

PS 我知道他们在这件事爆发的前一天有一个 8 小时的会议,我敢打赌这已经在议程上。

更新:JackTheRipper51 通知我,无论您发送什么内容,所有对grooveshark.com/more.php 的ssl 请求都会发生这种情况。这让我相信这是蟒蛇在捉弄我们。

更新 2:

JackTheRipper51 刚刚告诉我它确实是 python。这是他的帖子:

我根本不需要C。准备被激怒。一个简单的

盒子给了我一个令牌... jsontest 在这里

即使 json 在语法上不正确,它也总是至少返回一些标头!一直都是 Python ......

剩下的唯一问题是python为什么要这样做?

0 投票
1 回答
1054 浏览

javascript - 从 tinysong 获取歌曲

我不想通过从Grooveshark中获取的 tinysong API 获取歌曲列表,我正在通过它进行操作$.ajax,到目前为止我得到了这个:

key他们分配给我的 API 密钥在哪里。我收到以下错误:

资源解释为脚本,但使用 MIME 类型 text/html 传输:“http://tinysong.com/s/Beethoven?format=json&key=HERE_IS_MY_KEY&callback=jQuery172021696692402474582_1344209008518&_=1344209008523”。

但是,如果我转到该网址,我确实会打印出如下结果:

[{"Url":"http://tinysong.com/Aoxo","SongID":25802452,"SongName":"A 大调第七交响曲 Op. 92: Allegretto","ArtistID":1833, "ArtistName":"Beethoven","AlbumID":4497124,"AlbumName":"Beethoven: 9 Symphonien, Ouvert\u00fcren (1 of 6), Berstein, Leonard"},{"Url":"http://tinysong .com/jh4X","SongID":2909282,"SongName":"降E大调第五钢琴协奏曲 op. 73 'Emperor'","ArtistID":1833,"ArtistName":"Beethoven","AlbumID ":268605,"AlbumName":"The Best of Beethoven"},{"Url":"http://tinysong.com/JhLy","SongID":31825464,"SongName":"Beethoven: Piano Sonata #23 F小调,作品57,\"Appassionata\"","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":4913792,"AlbumName":"Beethoven's Greatest Hits"},{"Url":"http://tinysong.com/ 6Jk1","SongID":4925300,"SongName":"Beethoven #4: Adagio","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":842118,"AlbumName":"Beethoven: Symphonies Nos . 7 & 4"},{"Url":"http://tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833,"ArtistName" :"Beethoven","AlbumID":2087629,"AlbumName":"Beethoven and the Sea"}]"Beethoven","AlbumID":4913792,"AlbumName":"Beethoven's Greatest Hits"},{"Url":"http://tinysong.com/6Jk1","SongID":4925300,"SongName":"Beethoven #4: Adagio","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":842118,"AlbumName":"Beethoven: Symphonies Nos. 7 & 4"},{"Url":"http: //tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":2087629,"AlbumName": 《贝多芬与海》}]"Beethoven","AlbumID":4913792,"AlbumName":"Beethoven's Greatest Hits"},{"Url":"http://tinysong.com/6Jk1","SongID":4925300,"SongName":"Beethoven #4: Adagio","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":842118,"AlbumName":"Beethoven: Symphonies Nos. 7 & 4"},{"Url":"http: //tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":2087629,"AlbumName": 《贝多芬与海》}]com/6Jk1","SongID":4925300,"SongName":"Beethoven #4: Adagio","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":842118,"AlbumName":"Beethoven:第 7 和 4 号交响曲"},{"Url":"http://tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833," ArtistName":"Beethoven","AlbumID":2087629,"AlbumName":"Beethoven and the Sea"}]com/6Jk1","SongID":4925300,"SongName":"Beethoven #4: Adagio","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":842118,"AlbumName":"Beethoven:第 7 和 4 号交响曲"},{"Url":"http://tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833," ArtistName":"Beethoven","AlbumID":2087629,"AlbumName":"Beethoven and the Sea"}]com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":2087629,"AlbumName":"Beethoven and the海”}]com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":2087629,"AlbumName":"Beethoven and the海”}]

我怎样才能将这些信息传递给我的 javascript?

0 投票
2 回答
30034 浏览

java - 使用 Java 发送 HTTP Post Payload

我正在尝试连接到grooveshark API,这是http请求

我的问题是如何通过 Java 发送此请求?

0 投票
1 回答
1509 浏览

java - 在java中散列json

我正在尝试连接到 Grooveshark api。这是签署请求的 Grooveshark 指南:http: //developers.grooveshark.com/tuts/public_api

这就是我签署数据的方式。但我得到错误:“签名无效”。我应该形成 JsonObject 还是数据可以是字符串?

0 投票
1 回答
1172 浏览

php - 带有 jPlayer 的 Grooveshark 公共流 API

我可以使用公共流 API 从 Grooveshark 流式传输歌曲。我将它与 jPlayer(jplayer.org) 一起使用,它可以正确播放歌曲。

但问题是,在 Firefox 中(检查最新版本),歌曲的完整持续时间从 00:00 一直增加到完整的歌曲长度。基本上完整的歌曲持续时间是歌曲缓冲的数量

例如,长度为 04:00分钟的歌曲开始缓冲。现在,当它缓冲歌曲的四分之一时(即 01:00 分钟),jPlayer 将歌曲持续时间显示为 01:00分钟,而它应该是 04:00 分钟。

截图:(播放的歌曲总时长05:06分钟)

http://i.stack.imgur.com/wzxPx.png

在谷歌浏览器(检查最新版本)中显示歌曲的完整持续时间, jplayer 显示整首歌曲甚至从歌曲开始就被缓冲。

截图:(Chrome显示整首歌曲已缓冲但仍在缓冲中)

http://i.stack.imgur.com/PSkct.png

jPlayer 首先使用 HTML5,如果不支持 HTML5,则回退到 Flash。Google Chrome 支持使用 HTML5 播放 mp3(Grooveshark 流是一种 mp3)。但 Firefox 不支持 HTML5 中的 mp3。

所以很明显Firefox 使用的是 flash 而 Chrome 使用的是 HTML5

现在我要解决的问题是:-

  • 在 Firefox 中获得完整的歌曲持续时间并保持其他所有内容不变。
  • 在 Chrome 中保持歌曲的完整持续时间并显示缓冲的歌曲数量。

所有这一切都应该是可能的,因为grooveshark 网站本身也使用相同的stream.php 文件。

Grooveshark 也提供了它自己的 Flash 播放器,但它没有足够的功能,特别是它不是 HTML5。

如果 jPlayer 无法实现,请向我推荐一个更好的替代方案,它支持 HTML5 并且适合流式传输。

0 投票
2 回答
391 浏览

python - 从 Python 播放音乐

有人知道是否可以使用 Python 在音乐网站上按下播放按钮?我想做的是制作一个闹钟脚本,在音乐网站上播放随机播放列表。

这里这里是类似的问题(我认为),虽然我不知道我使用的是否适用于此。我正在尝试使用 Grooveshark。

0 投票
1 回答
300 浏览

html - 如何将类似 Grooveshark 的小部件实现为 Facebook 链接?

我在 Facebook 上发布了 Grooveshark 的链接,http://grooveshark.com/s/Toothpaste+Kisses/3gGocy?src=5并得到了看似正常的结果(链接到另一个页面),但一旦点击,它就会变成这样的 Flash 小部件 SWF 的 URL 是https://grooveshark.com/facebookWidget。 swf?songID=249422)。

我的问题是这是如何实现的? 我知道您可以将各种特殊的 Open Graph 数据添加到页面,但这是公司与 Facebook 进行的某种特殊交易吗?任何人都可以阐明这个谜团,因为理解它会非常有用。谢谢!

0 投票
1 回答
654 浏览

jquery - Grooveshark 公共 API - 未找到方法

我正在使用 Jquery 将 JSON 数据发送到 Grooveshark API 以获取搜索结果,但这是我得到的结果 -

这是触发grooveshark API的一段代码。我无法弄清楚这个问题,任何帮助都会很棒。

0 投票
1 回答
866 浏览

api - 从 url 获取grooveshark songId

我正在使用grooveshark API,我想从url 中找到一个sondId。所以我有网址:

我在 url 中提取“id”:

但是,与 ID 直接显示在 Url 中的专辑和播放列表不同:

我不知道如何找到 songId ...我尝试过 getSongIDFromTinysongBase62但不起作用。

如何使用grooveshark API 确定songID?谢谢 !