Skip to content
Snippets Groups Projects
Commit 8be82ee2 authored by Daniel Furaev's avatar Daniel Furaev
Browse files

eeee

parent 2b4385ee
Branches
No related tags found
No related merge requests found
...@@ -3,6 +3,9 @@ import 'package:flutter/material.dart'; ...@@ -3,6 +3,9 @@ import 'package:flutter/material.dart';
import 'dart:developer'; import 'dart:developer';
import 'package:ambient/services/spotify.dart'; import 'package:ambient/services/spotify.dart';
import 'package:ambient/homepage.dart';
import 'package:flutter/services.dart';
import 'package:spotify_sdk/spotify_sdk.dart';
class StateSearcgPage extends StatefulWidget { class StateSearcgPage extends StatefulWidget {
const StateSearcgPage({super.key}); const StateSearcgPage({super.key});
...@@ -14,6 +17,7 @@ class StateSearcgPage extends StatefulWidget { ...@@ -14,6 +17,7 @@ class StateSearcgPage extends StatefulWidget {
class SearchPage extends State<StateSearcgPage> { class SearchPage extends State<StateSearcgPage> {
final controller = TextEditingController(); final controller = TextEditingController();
Spotify spotifyApi = Spotify(); Spotify spotifyApi = Spotify();
HomePage homePage = HomePage();
List<Song> songs = List.empty(growable: true); List<Song> songs = List.empty(growable: true);
@override @override
...@@ -65,7 +69,7 @@ class SearchPage extends State<StateSearcgPage> { ...@@ -65,7 +69,7 @@ class SearchPage extends State<StateSearcgPage> {
), ),
), ),
onTap: () { onTap: () {
// TODO: Abspielen play(song.id);
}, },
); );
})), })),
...@@ -82,4 +86,14 @@ class SearchPage extends State<StateSearcgPage> { ...@@ -82,4 +86,14 @@ class SearchPage extends State<StateSearcgPage> {
songs.add(element); songs.add(element);
} }
} }
Future<void> play(String songId) async {
try {
await SpotifySdk.play(spotifyUri: 'spotify:track:$songId');
} on PlatformException catch (e) {
//setStatus(e.code, message: e.message);
} on MissingPluginException {
//setStatus('not implemented');
}
}
} }
...@@ -2,7 +2,9 @@ import 'dart:convert'; ...@@ -2,7 +2,9 @@ import 'dart:convert';
import 'dart:developer'; import 'dart:developer';
import 'dart:io'; import 'dart:io';
import 'package:flutter/services.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:spotify_sdk/spotify_sdk.dart';
class Spotify { class Spotify {
final clientId = '60cf1944b15d4f9fb223ba32ce6336d1'; final clientId = '60cf1944b15d4f9fb223ba32ce6336d1';
...@@ -61,6 +63,30 @@ class Spotify { ...@@ -61,6 +63,30 @@ class Spotify {
} }
} }
playGenre(genre) async {
try {
final response = await http.get(
Uri.parse('https://api.spotify.com/v1/search?q=genre=$genre'),
headers: {
// 'Authorization': 'Bearer $authToken',
'Authorization':
'Bearer BQBx44KHYThkfXDRdxk9MNUaepkW_29jFARFKqOcO11ukDjdzuHY4dzNg2vl_8QPZ2wHX9NzTYaYFbwEjt5a83MD9oHoBTrbgjwvzGRQkL8L6LLz571amR-YhhxTsH9pG8ClYDZv2zgUgKgqXH6W64YCfyYSTiqYWnjKuUGSTyVUnz-BEQTTqbjJqemR4H-thfA9oWQDp07Ud2hOtI8Q'
},
);
final responseJson = json.decode(response.body);
final items = responseJson['tracks']['items'] as List;
List songList = items.map((item) => Song.fromJson(item)).toList();
var playSong = songList.first();
play(playSong['id']);
// T
} catch (e) {
log(e.toString());
}
}
getUserAlbums() async { getUserAlbums() async {
try { try {
var response = await http.get( var response = await http.get(
...@@ -193,6 +219,16 @@ class Spotify { ...@@ -193,6 +219,16 @@ class Spotify {
log(e.toString()); log(e.toString());
} }
} }
Future<void> play(String songId) async {
try {
await SpotifySdk.play(spotifyUri: 'spotify:track:$songId');
} on PlatformException catch (e) {
//setStatus(e.code, message: e.message);
} on MissingPluginException {
//setStatus('not implemented');
}
}
} }
class Song { class Song {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment