从共享视频网址获取YouTube视频ID

时间:2016-12-23 06:31:09

标签: android

我使用以下代码从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;
}

谢谢

1 个答案:

答案 0 :(得分:1)

Youtube共享和真实链接的ID是表示视频的唯一ID

因此,您需要通过使用条件来检查彼此是否共享,并使用链接进行共享:

&#34; https://www.youtube.com/shared?ci=&#34 +(youtubeID)

和其他使用手表:

&#34; https://www.youtube.com/watch?v=&#34; +(youtubeID)