我对移动应用程序还不熟悉,所以我试图使用Phonegap和jQuery Mobile来打造一个简单的视频播放器.问题是,jQuery mobile出于某种原因似乎阻止了视频播放. 为了排除故障,我将其剥离回到以下HT
为了排除故障,我将其剥离回到以下HTML,但获得相同的结果,即视频应该是黑色矩形,但没有视频播放或控件.
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1"/> <link rel="stylesheet" type="text/css" href="css/index.css" /> <link rel="stylesheet" href="css/jquery.mobile-1.2.0.min.css" /> <script type="text/javascript" src="cordova-2.2.0.js"></script> <script type="text/javascript" src="js/index.js"></script> <script src="js/jquery-1.8.3.min.js"></script> <script src="js/jquery.mobile-1.2.0.js"></script> <title></title> </head> <body> <div> <video controls autoplay> <source src="video/video1.mp4" type="video/mp4" > </video> </div> </body> </html>
如果我删除了jquery.mobile-1.2.0.js的链接,视频会显示并播放,否则只会显示黑色矩形.
我根本不知道jQuery mobile,但是在js中搜索视频元素的引用并没有显示出来,所以我不知道阻塞它的是什么.
该代码在Chrome和Firefox中运行良好. Xcode中没有控制台消息.我也尝试连接到http://debug.phonegap.com/,但这也没有给出任何错误消息.
有任何想法吗??
发生这种情况是因为ios会阻止内联媒体播放.对于ios您应该在config.xml中添加以下内容
<preference name="AllowInlineMediaPlayback" value="true"/>
让你的代码工作.
您可能需要将webkit-playsinline添加到视频标记中
更多看看Config.xml cordova doc
您可能需要设置其他属性,如
MediaPlaybackRequiresUserAction(boolean) or MediaPlaybackRequiresUserAction(boolean)
在Config.xml cordova doc获取有关它们的完整详细信息