我使用以下代码从Url获取视频ID。此函数会返回https://www.youtube.com/shared?ci=4xtFG3fPrk8网址的ID,但是youtube播放会显示“视频不可用”的错误'
public static String extractYTId(String ytUrl) {
String vId = null;
Pattern pattern = Pattern.compile(
"(?<=shared\\?ci=|watch\\?v=|/videos/|embed\\/|youtu.be\\/|\\/v\\/|watch\\?v%3D|\u200C\u200B%2Fvideos%2F|embed%2\u200C\u200BF|youtu.be%2F|%2Fv%2\u200C\u200BF)[^#\\&\\?\\n]*");
Matcher matcher = pattern.matcher(ytUrl);
if (matcher.find()) {
vId = matcher.group();
Log.e(TAG, "video id found : " + vId);
}
return vId;
}
谢谢
答案 0 :(得分:1)
Youtube共享和真实链接的ID是表示视频的唯一ID
因此,您需要通过使用条件来检查彼此是否共享,并使用链接进行共享:
&#34; https://www.youtube.com/shared?ci=&#34 +(youtubeID)
和其他使用手表:
&#34; https://www.youtube.com/watch?v=&#34; +(youtubeID)