如何在2023年使用youtube_explode_dart包下载URL?

wribegjk  于 2023-07-31  发布在  其他
关注(0)|答案(2)|浏览(107)

我想下载视频使用audioOnly从youtube使用URL,我使用youtube_explode_dart为此目的,但代码方法已经迁移了,我不能弄清楚,尽管检查包的文档,那如何只下载音频.
我的代码:

Future<String> getDownloadUrl(String videoId) async {
var youtube = YoutubeExplode();
var video = await youtube.videos.get(videoId);
return youtube.streamsClient.getAudioOnly().first.url;

字符串
}

jogvjijk

jogvjijk1#

你做得很对,但是使用的是旧方法,请将你的代码更新为下面提到的代码,同时检查最新的youtube_explode_dart包的文档以更好地理解。

Future<String> getDownloadUrl(String videoId) async {
var youtube = YoutubeExplode();
var video = await youtube.videos.get(videoId);

// Get the stream manifest for the video
var streamManifest = await youtube.videos.streamsClient.getManifest(videoId);

// Get the audio-only streams from the manifest
var audioOnlyStreams = streamManifest.audioOnly;

// Get the highest quality audio-only stream
var audioStream = audioOnlyStreams.withHighestBitrate();

// Return the URL of the audio stream
return audioStream.url.toString();

}

字符串

7jmck4yq

7jmck4yq2#

正如在官方文档中所提到的,audioOnly属性仅用于此目的。>最高比特率的仅音频流。您可以再次查看官方文档以获取更多信息。https://pub.dev/packages/youtube_explode_dart

// Get highest quality muxed stream
var streamInfo = streamManifest.muxed.withHigestVideoQuality();

// ...or highest bitrate audio-only stream
var streamInfo = streamManifest.audioOnly.withHigestBitrate()

// ...or highest quality MP4 video-only stream
var streamInfo.videoOnly.where((e) => e.container == Container)

字符串

相关问题