2012-10-23 30 views
0

在果冻豆安卓设备(也ICS我相信),在一个android web视图内的框架内的youtube视频停止工作在我们的应用程序几周前:没有视频(黑屏),但可以听到声音并看到视频控制。 我终于找到了一些线索,说明阻碍他们工作的原因。 好像在清单中进行以下设置需要的视频工作:youtube视频不工作在任何设置为false的WebDownDensity

android:targetSdkVersion="8" 
android:hardwareAccelerated="true" 
supports-screens android:anyDensity="false" 

同样在一个侧面说明,在视频后,我们点击全屏YouTube的按钮工作正常(但我不希望使用全屏)。 1)和2)对我们来说不是问题,我们可以将它们设置在清单中(但我不知道为什么需要硬件加速)。但是3)我们不能(因为不同的原因)。

有谁知道为什么anyDensity设置为虚假中断视频,如果有任何解决方法?

有关APK重现该问题的一些信息:

<!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> 
:用于YouTube视频

<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"/> 

... 

的html代码:
APK与清单的Android 3.0的
密钥取出内置

重现此问题,您可以使用http://code.google.com/p/html5webview/source/checkout的源代码(只要确保使用本帖顶部指出的值更新manifest.xml,tar getSdkVersion,hardwareAccelerated,android:anyDensity)。

谢谢。

Laurent

回答

0

对于嵌入式视频,应用程序需要surfacetexture类。这需要将android:hardwareAccelerated =“true”设置为true。 根据http://developer.android.com/guide/topics/manifest/supports-screens-element.html,android:anyDensity =“false”不应设置为false。全屏视频采用surfaceview,surfaceview对硬件加速没有要求。

+0

感谢了硬件加速的解释。但不幸的是,我在这个应用程序中需要android:anyDensity =“false”,并且无法在短期内改变它。任何想法为什么视频无法与anyDensity =“false”? – user751441

相关问题