Ich habe versucht, einfache App zu erstellen, die Deezer verbinden und einzelnen Song spielen wird. Ich habe Zugang Token und schrieb dieses Programm.
Zielmaschine: Linux x86_64
API-Version: v1.0.1Deezer native API unter Linux: Unanble zum Erstellen einfacher App
#include <iostream>
#include <deezer-api.h>
#include <deezer-player.h>
#define ACCESS_TOKEN "ACCESS TOKEN HERE"
int main(int argc, char **argv)
{
dz_connect_configuration cfg = {0};
cfg.app_id = "APP ID HERE";
cfg.product_id = "product_id";
cfg.product_build_id = "0.0.0";
dz_connect_handle dz_handle = dz_connect_new(&cfg);
if (dz_handle == nullptr)
{
return 100;
}
auto err_code = dz_connect_activate(dz_handle, nullptr);
if (err_code > DZ_ERROR_NO_ERROR_ASYNC)
{
return err_code;
}
err_code = dz_connect_set_access_token(dz_handle, nullptr, nullptr, ACCESS_TOKEN);
if (err_code > DZ_ERROR_NO_ERROR_ASYNC)
{
return err_code;
}
auto dz_player_handle = dz_player_new(dz_handle);
if (dz_player_handle == nullptr)
{
return 200;
}
err_code = dz_player_activate(dz_player_handle, nullptr);
if (err_code > DZ_ERROR_NO_ERROR_ASYNC)
{
return err_code;
}
err_code = dz_player_load(dz_player_handle, nullptr, nullptr, "dzmedia:///track/3135556");
if (err_code > DZ_ERROR_NO_ERROR_ASYNC)
{
return err_code;
}
err_code = dz_player_play(dz_player_handle, nullptr, nullptr, DZ_PLAYER_PLAY_CMD_START_TRACKLIST, DZ_TRACKLIST_AUTOPLAY_MANUAL, DZ_INDEX_IN_PLAYLIST_CURRENT);
if (err_code > DZ_ERROR_NO_ERROR_ASYNC)
{
return err_code;
}
std::cin.get();
return 0;
}
Plötzlich lief ich in Probleme. Erstausstrahlung zeigt mir diese Ausgabe:
398748: 201417 dz_bufferevent: [dz_bufferevent_on_activation: 561] nicht öffnen konnte /var/tmp/settings.dat
ich diese Datei erstellt, aber ich vermute, dass es sollte nicht leer sein. Nach zweiten Lauf mit /var/tmp/settings.dat habe ich diese Ausgabe bekam:
399206: 328658 dz_crash_handler: [dz_crash_handler_init: 284] Crash-Handler verfügbar
399.206: 329.404 dzcrashreport-server-disk: [ dz_crashreport_server_url_on_read_data: 436] ERROR - Fehler beim Öffnen err: 7
399.206: 329.533 dzcrashreport-server-disk: [dz_crashreport_server_url_on_read_data: 436] ERROR - Fehler beim Öffnen err: 7
399.206: 329.590 dzcrashreport-server-disk: [dz_crashreport_server_url_on_read_data: 436] ERROR - Offener Fehler err: 7
399206: 329664 dzcrashreport-server-disk: [dz_cra shreport_server_url_on_read_data: 436] ERROR - Fehler beim Öffnen err: 7
399.206: 329.726 dzcrashreport-server-disk: [dz_crashreport_server_url_on_read_data: 436] ERROR - Fehler beim Öffnen err: 7
399.206: 329.736 dzcrashreport-Absender: [dz_crash_report_sender_retrieve_server_url_on_result: 213] Fehler - 0
399.206: 336.505 Pulseaudio-Motor: [dz_audioengine_set_output_gain: 1184] nicht init
399.206: 336.520 Pulseaudio-Motor: [dz_audioengine_set_output_gain: 1184] nicht init
399.206: 336.577 Spieler: [dz_player_play_licence kann nicht URL-Server err lesen : 1756] unbekannter Fehler 131079
Ich kann nicht verstehen, was ich falsch gemacht habe?
UPDATE:
Deezer native API: v1.0.1-v00349200
Noch kein Glück. Versucht verschiedene Variationen von "user_profile_path"
:
- .
- ./
- ./user - wurde mit 777 Rechten in Arbeitsverzeichnis erstellt
- /var/tmp
Es gab keine Dateien im Ordner von API erstellt.
Still got Fehler:
[dz_crashreport_server_url_on_read_data: 436] ERROR - Fehler beim Öffnen err: 7
[dz_crash_report_sender_retrieve_server_url_on_result: 213] Fehler - konnte nicht URL-Server err lesen: 0
Nach dem Hinzufügen der Implementierung von Callbacks sehe ich folgendes:
dz_connect_set_access_token
Anrufe Rückrufdz_activity_operation_callback
mit StatusDZ_ERROR_CONNECT_SESSION_OFFLINE_MODE
dz_player_play
Anrufedz_player_onevent_cb
mit EreignisseDZ_PLAYER_EVENT_PLAYLIST_TRACK_NO_RIGHT
Nun Rückruf, überprüfte ich, dass ich Rechte habe diesen Track zu spielen.
Dank für die Antwort, @CyrilP. Über settings.dat: App erstellt/aktualisiert diese Datei nicht. Mit Root-Zugriff gleiches Problem. Einstellung '" user_profile_path "' zu '. /' Oder '/ var/tmp /' ändert nichts, ich habe das gleiche Problem. – dpleshakov
Die drei neuen Punkte sollten wirklich helfen. Bestätigst du, dass du schon alle zusammen probiert hast? Wenn Sie bestätigen, schlage ich vor, dass Sie eine E-Mail mit Ihrem access_token an [email protected] senden. Grüße, Cyril – CyrilP
Hallo @ CyrilP! Ja, ich habe es geschafft, aber immer noch kein Glück. Ich habe dieselben Fehler. – dpleshakov