私のAndroidアプリケーションでは、埋め込みYouTube動画があります。パラメータを含むYouTube動画IDを取得する
次のように私は、元のURLからYouTubeの動画IDを取得しています:これは、このような元のURLのためだけで正常に動作し
private String extractYoutubeId(String url) {
String video_id = "";
if (url != null && url.trim().length() > 0 && url.startsWith("http")) {
String expression = "^.*((youtu.be" + "\\/)"
+ "|(v\\/)|(\\/u\\/w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#\\&\\?]*).*";
CharSequence input = url;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
String groupIndex1 = matcher.group(7);
if (groupIndex1 != null && groupIndex1.length() == 11)
video_id = groupIndex1;
}
}
return video_id;
}
:私が行うとhttp://www.youtube.com/watch?v=A7ry4cx6HfY
は、ビデオがロードされていること完璧に上手く再生されましたが、品質は非常に悪いです。 (240pかさらに悪いと思う)
だから私は、&vq=large
または&vq=hd1080
のようなパラメータを追加するだけで480p/1080pを取得する必要があることを知っています。
しかし、このようなURLを使用すると、http://www.youtube.com/watch?v=A7ry4cx6HfY&vq=hd1080のパラメータは無視され、品質はまだ悪いです。
ビデオの品質を上げるにはどうすればよいですか?もちろん、そのビデオがその品質で利用可能であると仮定します。私のパラメータはなぜ無視されますか?
YouTube APIでURL – CommonMan
からビデオIDを抽出する方法はありません。それは正しいですが、高品質のビデオにアクセスするために必要なのはIDだけです。 YouTube APIを使用すると、すべての品質のバリエーションにアクセスできるため、不要になります –