带连字符的Youtube视频在IOS中不起作用
我正在我的爱奥尼亚项目中使用Cordova YoutubeVideoPlayer插件。它在安卓系统中运行良好,但在IOS系统中,它不适用于带有连字符(-)的视频id(例如:“6L ZHjUhcQY”)。它适用于所有其他URL。我怎样才能解决这个问题带连字符的Youtube视频在IOS中不起作用,ios,cordova,Ios,Cordova,我正在我的爱奥尼亚项目中使用Cordova YoutubeVideoPlayer插件。它在安卓系统中运行良好,但在IOS系统中,它不适用于带有连字符(-)的视频id(例如:“6L ZHjUhcQY”)。它适用于所有其他URL。我怎样才能解决这个问题 .controller('menuController', function () { var id = "6L-ZHjUhcQY"; YoutubeVideoPlayer.openVideo(id); }); 在调试器中,带连字符
.controller('menuController', function () {
var id = "6L-ZHjUhcQY";
YoutubeVideoPlayer.openVideo(id);
});
在调试器中,带连字符的视频ID是否正确保存在变量中?这可能是字符编码问题,也可能是插件本身的问题。通过更新一些文件修复了ios问题 现在我在android标签中发现了一些问题
即使屏幕被锁定,视频仍在播放。而且连字符视频也不能在三星标签中播放。通过编辑插件中YoutubeVideoPlayer.java文件中的代码,android问题也得到了解决
private Intent createYoutubeIntent(String videoId) {
// if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){
Intent intent;
Context cordovaContext = cordova.getActivity();
String version = YouTubeIntents.getInstalledYouTubeVersionName(cordovaContext);
if(version != null && version.startsWith("11.16") && YouTubeIntents.canResolvePlayVideoIntent(cordovaContext)) {
intent = YouTubeIntents.createPlayVideoIntent(cordovaContext, videoId);
} else {
if(YouTubeIntents.canResolvePlayVideoIntentWithOptions(cordovaContext)){
intent = YouTubeIntents.createPlayVideoIntentWithOptions(cordovaContext, videoId, true, true);
} else {
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=" + videoId), cordovaContext, YouTubeActivity.class);
intent.putExtra("videoId", videoId);
ConfigXmlParser parser = new ConfigXmlParser();
parser.parse(cordovaContext);
CordovaPreferences prefs = parser.getPreferences();
intent.putExtra("YouTubeApiId", prefs.getString("YouTubeDataApiKey","YOUTUBE_API_KEY"));
}
}
return intent;
// }
//return new Intent(null, Uri.parse("ytv://" + videoId), cordova.getActivity(), OpenYouTubePlayerActivity.class);
}
是,Id已正确保存。有没有其他插件可以代替这个。就我个人而言,我使用youtube dl。它下载youtube视频,所以我从未体验过缓冲区,可以脱机查看。我只想玩它,不需要下载youtube Unity iOS插件看起来很有希望。这是cordova插件吗?你能提供一个链接吗。