diff --git a/analysis_options.yaml b/analysis_options.yaml index e54b130..4995189 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -14,6 +14,7 @@ linter: - prefer_constructors_over_static_methods - prefer_contains - annotate_overrides + - await_futures analyzer: exclude: diff --git a/example/example.dart b/example/example.dart index 08a8cf3..3f0d43c 100644 --- a/example/example.dart +++ b/example/example.dart @@ -3,8 +3,10 @@ import 'package:youtube_explode_dart/youtube_explode_dart.dart'; Future main() async { var yt = YoutubeExplode(); var video = await yt.videos.get(VideoId('https://www.youtube.com/watch?v=bo_efYhYU2A')); + var streamManifest = await yt.videos.streamsClient.getManifest(VideoId('https://www.youtube.com/watch?v=bo_efYhYU2A')); print('Title: ${video.title}'); + print(streamManifest.streams()); // Close the YoutubeExplode's http client. yt.close(); diff --git a/lib/src/channels/channel_client.dart b/lib/src/channels/channel_client.dart index eb883d3..370aa7a 100644 --- a/lib/src/channels/channel_client.dart +++ b/lib/src/channels/channel_client.dart @@ -1,6 +1,8 @@ import '../extensions/helpers_extension.dart'; +import '../playlists/playlists.dart'; import '../reverse_engineering/responses/responses.dart'; import '../reverse_engineering/youtube_http_client.dart'; +import '../videos/video.dart'; import '../videos/video_id.dart'; import 'channel.dart'; import 'channel_id.dart'; @@ -40,8 +42,8 @@ class ChannelClient { } /// Enumerates videos uploaded by the specified channel. - void getUploads(ChannelId id) async { - var playlist = 'UU${id.value.substringAfter('UC')}'; - //TODO: Finish this after playlist + Stream