音频播放已在三星Galaxy S3和HTC One上成功测试,但在运行Android 4.4的LGE Nexus 4上严重受损.发生的事情是,可以在几分之一秒内听到非常精细的音频,然后是几秒钟的静音,接着是另一段短音频,然后是静音,所以它就会发生.因此,似乎音频流逻辑最终会在一个永恒的开始 - 播放 - 欠载 - 停止循环中结束.
每隔一秒左右,我会看到以下警告:
12-09 00:55:56.982 10842-14365/com.soundrop.android W/AudioTrack? releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting
12-09 00:55:57.583 10842-14367/com.soundrop.android W/AudioTrack? releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting
12-09 00:55:58.594 10842-14369/com.soundrop.android W/AudioTrack? releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting
12-09 00:55:59.595 10842-14371/com.soundrop.android W/AudioTrack? releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting
12-09 00:56:02.047 10842-14379/com.soundrop.android W/AudioTrack? releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to …
Run Code Online (Sandbox Code Playgroud) 我在github上找到了一个迷你Deezer播放器,但我认为它已经在Eclipse中编码了.然而,我在Android Studio工作.
Beeing我的第一个Android应用程序它必须是一个noob问题,但我坚持这个:
private DialogListener mDeezerDialogListener = new **DialogListener**() {
@Override
public void onComplete(Bundle values) {
// store the current authentication info
SessionStore sessionStore = new SessionStore();
sessionStore.save(mDeezerConnect, LoginActivity.this);
// Launch the Home activity
Intent intent = new Intent(LoginActivity.this, HomeActivity.class);
startActivity(intent);
}
@Override
public void onDeezerError(final DeezerError deezerError) {
Toast.makeText(LoginActivity.this, R.string.deezer_error_during_login,
Toast.LENGTH_LONG).show();
}
@Override
public void onError(final DialogError dialogError) {
Toast.makeText(LoginActivity.this, R.string.deezer_error_during_login,
Toast.LENGTH_LONG).show();
}
@Override
public void onCancel() {
Toast.makeText(LoginActivity.this, R.string.login_cancelled, Toast.LENGTH_LONG).show();
}
@Override
public void onOAuthException(OAuthException oAuthException) {
Toast.makeText(LoginActivity.this, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从localhost访问Deezer API,但我一直收到以下错误:
Fetch API cannot load http://api.deezer.com/search/track/autocomplete?limit=1&q=eminem.
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost' is therefore not allowed access.
If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Run Code Online (Sandbox Code Playgroud)
localhost的响应标头确实有Access-Control-Allow-Origin标头(Access-Control-Allow-Origin:*).
我使用的是像获取:
fetch('http://api.deezer.com/search/track/autocomplete?limit=1&q=eminem')
.
我究竟做错了什么?
似乎Deezer android sdk不提供Google+身份验证.
有没有办法让用户通过SDK与Deezer连接,以通过SDK访问他们的帐户?
我正在使用axios向Deezer API发出请求。不幸的是,使用Deezer的API,当您请求歌手的专辑时,它不包含专辑曲目。因此,我正在通过请求艺术家的专辑,然后为每个专辑执行后续axios请求来解决此问题。我遇到的问题是,API将请求限制为每5秒50个请求。如果一个艺术家有50张以上的专辑,我通常会收到“超出配额”错误。有没有一种方法可以将axios请求限制为每5秒50个,特别是在使用axios.all时?
var axios = require('axios');
function getAlbums(artistID) {
axios.get(`https://api.deezer.com/artist/${artistID}/albums`)
.then((albums) => {
const urls = albums.data.data.map((album) => {
return axios.get(`https://api.deezer.com/album/${album.id}`)
.then(albumInfo => albumInfo.data);
});
axios.all(urls)
.then((allAlbums) => {
console.log(allAlbums);
});
}).catch((err) => {
console.log(err);
});
}
getAlbums(413);
Run Code Online (Sandbox Code Playgroud) 是否可以使用isrc而不是id来获取轨道的信息?
代替
http://api.deezer.com/track/123455
Run Code Online (Sandbox Code Playgroud)
就像是
http://api.deezer.com/track/?isrc=8764237
Run Code Online (Sandbox Code Playgroud) 我想使用 Python 中的 BeautifulSoup 从“script”标签中的代码中提取“SNG_TITLE”和“ART_NAME”值。(整个脚本太长无法粘贴)
<script>window.__DZR_APP_STATE__ = {"TAB":{"loved":{"data":[{"SNG_ID":"126884459","PRODUCT_TRACK_ID":"360276641","UPLOAD_ID":0,"SNG_TITLE":"Heathens","ART_ID":"647650","PROVIDER_ID":"3","ART_NAME":"Twenty One Pilots","ARTISTS":[{"ART_ID":"647650","ROLE_ID":"0","ARTISTS_SONGS_ORDER":"1","ART_NAME":"Twenty One Pilots","ART_PICTURE":"259dcf52853363d79753ec301377645d","SMARTRADIO":"1","RANK":"487762","LOCALES":[],"__TYPE__":"artist"}],"ALB_ID":"13371165","ALB_TITLE":"Heathens","TYPE":0,"MD5_ORIGIN":"5cea723b83af1ff0a62d65d334b978d4","VIDEO":false,"DURATION":"195","ALB_PICTURE":"3dfc8c9e406cf1bba8ce0695a44a9b7e","ART_PICTURE":"259dcf52853363d79753ec301377645d","RANK_SNG":"967143","SMARTRADIO":"1","FILESIZE_AAC_64":0,"FILESIZE_MP3_64":"0","FILESIZE_MP3_128":"3135946","FILESIZE_MP3_256":0,"FILESIZE_MP3_320":"7839868","FILESIZE_FLAC":"21777150","FILESIZE":"3135946","GAIN":"-12","MEDIA_VERSION":"4","DISK_NUMBER":"1","TRACK_NUMBER":"1","VERSION":"","EXPLICIT_LYRICS":"0","RIGHTS":{"STREAM_ADS_AVAILABLE":true,"STREAM_ADS":"2000-01-01","STREAM_SUB_AVAILABLE":true,"STREAM_SUB":"2000-01-01"},"ISRC":"USAT21601930","DATE_ADD":1497886149,"HIERARCHICAL_TITLE":"","SNG_CONTRIBUTORS":{"mainartist":["Twenty One Pilots"],"engineer":["Adam Hawkins"],"mixer":["Adam Hawkins"],"masterer":["Chris Gehringer"],"drums":["Josh Dun"],"producer":["Mike Elizondo","Tyler Joseph"],"programmer":["Mike Elizondo","Tyler Joseph"],"vocals":["Tyler Joseph"],"writer":["Tyler Joseph"]},"LYRICS_ID":30553991,"__TYPE__":"song"},{"SNG_ID":"99976952","PRODUCT_TRACK_ID":"171067651","UPLOAD_ID":0,"SNG_TITLE":"Stressed Out","ART_ID":"647650","PROVIDER_ID":"3","ART_NAME":"Twenty One Pilots","ARTISTS":[{"ART_ID":"647650","ROLE_ID":"0","ARTISTS_SONGS_ORDER":"1","ART_NAME":"Twenty One Pilots", ...</script>
Run Code Online (Sandbox Code Playgroud)
代码的想法是打印出用户名,可以在给定页面上找到的所有歌曲和艺术家姓名。
import requests
from bs4 import BeautifulSoup
base_url = 'https://www.deezer.com/en/profile/1589856782/loved'
r = requests.get(base_url)
soup = BeautifulSoup(r.text, 'html.parser')
user_name = soup.find(class_='user-name')
print(user_name.text)
Run Code Online (Sandbox Code Playgroud)
这将打印用户名。
for script in soup.find_all('script'):
print(script.contents)
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,我需要的脚本是一本字典,所以我只需要找到它并获取它的内容。问题是我不知道如何具体找到这个“脚本”。它没有任何属性或任何使它独一无二的东西。所以我尝试了一个循环,找到页面上的所有脚本并打印出它们的内容,但不知道如何进一步进行。
如何在页面上只找到这个特定的“脚本”?我可以以不同的方式访问这些值吗?
我想使用Android Intent从URI打开Deezer Android应用程序。
我的代码是:
try {
uri = "deezer://track/"+track_id;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
activity.startActivity(intent);
} catch (Exception e) {
uri = "http://www.deezer.com/track/"+track_id;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
activity.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
但是,Deezer从未检测到“ deezer:// track / track_id URI”,因此无法使用。
有人知道正确的URI语法吗?
(我对Spotify使用相同的代码,并且可与URI一起使用:spotify:track:track_id)
这基本上是我的问题,你知道 deezer api 请求配额是通过 URL 还是 Oauth 令牌应用的吗?我的意思是,如果同一台服务器同时向 5 个不同的 deezer 用户发出请求,配额是 50/5 秒(因此适用于 URL)还是 250/5 秒(因此适用于令牌)。
先感谢您
您好,我想知道是否可以通过他的 ean 或 upc 恢复 deezer 上的专辑?我目前从专辑中检索 JSON,但没有任何与此信息相关的信息。