Android youtube视频无法在Webview中工作,anyDensity设置为false
在jelly beans安卓设备(我相信也是ICS)上,安卓网络视图框架内的youtube视频数周前在我们的应用程序中停止工作:没有视频(黑屏),但可以听到声音和看到视频控制。 我终于找到了一条线索,知道是什么阻碍了他们的工作。 似乎需要在清单中设置以下内容才能使视频正常工作:Android youtube视频无法在Webview中工作,anyDensity设置为false,android,Android,在jelly beans安卓设备(我相信也是ICS)上,安卓网络视图框架内的youtube视频数周前在我们的应用程序中停止工作:没有视频(黑屏),但可以听到声音和看到视频控制。 我终于找到了一条线索,知道是什么阻碍了他们的工作。 似乎需要在清单中设置以下内容才能使视频正常工作: android:targetSdkVersion="8" android:hardwareAccelerated="true" supports-screens android:anyDensity="false" 另
android:targetSdkVersion="8"
android:hardwareAccelerated="true"
supports-screens android:anyDensity="false"
另一方面,在我们点击全屏youtube按钮后,视频工作正常(但我不想使用全屏)
1) 2)对我们来说不是问题,我们可以在清单中设置它们(但我想知道为什么需要硬件加速)。
但是3)我们不能(出于不同的原因)
有人知道为什么anyDensity设置为假中断视频,以及是否有任何解决方法吗
有关复制问题的apk的一些信息:apk是用android 3.0构建的
清单的关键摘录:
<uses-sdk android:minSdkVersion="1" android:targetSdkVersion="8"/>
<!-- android:hardwareAccelerated="true" -->
<application android:icon="@drawable/icon" android:label="@string/app_name" android:hardwareAccelerated="true">
<activity android:name=".TestHTML5WebView"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<supports-screens android:anyDensity="false"/>
...
(只需确保使用本文顶部的值更新manifest.xml,targetSdkVersion,hardwareAccelerated,android:anyDensity)
谢谢
Laurent对于嵌入式视频,应用程序需要surfacetexture类。这要求将android:hardwareAccelerated=“true”设置为true。
根据,android:anyDensity=“false”不应设置为false。
全屏视频使用surfaceview,surfaceview对硬件加速没有要求。Youtube最近发布的android播放器:
感谢您对硬件加速的解释。但不幸的是,我在这个应用程序中需要android:anyDensity=“false”,短期内无法改变这一点。知道为什么视频不能与anyDensity=“false”配合使用吗?
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi"/>
<script type="text/javascript" charset="utf-8">
window.onerror = function(errorMsg) {
try {
alert(errorMsg);
}
catch(err) {
alert('An expected error occurred. please try again later!');
}
}
</script>
<style type="text/css" media="screen">
body {
background: #000;
margin: 0;
padding: 0;
}
.video1 {
width: 90%;
height: 90%;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="video1">
<iframe width="560" height="315" src="http://www.youtube.com/embed/hH9Kx06oO_0" frameborder="0" allowfullscreen></iframe>
</div>
</body>
</html>