我有一个用Java编写的内容管理服务器应用程序。后台进程通过视频id列表,并使用Youtube API获取这些视频id的详细信息。我想检查一下特定的视频条目是否可用于移动设备。我检查了像一样允许的辛迪加
String videoEntryUrl = "http://gdata.youtube.com/feeds/api/videos/"+videoID;
VideoEntry videoEntry = service.getEntry(new URL(videoEntryUrl), VideoEntry.class);
if(!videoEntry.getXmlBlob().getBlob().contains("yt:accessControl permission='denied' action='syndicate'")){
System.out.println("The video is syndicatable");
}
检查辛迪加仍然没有解决问题,服务器仍然允许播放无法在Android手机上播放的视频。只过滤可以在手机上播放的视频的正确方法是什么?
没有单一的检查来查看视频是否可以"在移动设备上"播放。
特定视频可能无法在特定平台上播放的原因多种多样,不幸的是,要绝对确定特定视频是否会在特定播放器中播放,唯一的方法就是尝试播放
话虽如此,这篇博客文章详细介绍了出现的常见播放限制类型:http://apiblog.youtube.com/2011/12/understanding-playback-restrictions.html