2012-10-23 70 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

相關問題