2012-05-08 1 views
0

私はアンドロイドとフラッシュ開発の両方に新しいです。私はメトロノームの部分を実装するためにフラッシュを使ってギター用のメトロノームを作成しています。私はすでにメトロノームアニメーションのために作ったギターと別のフラッシュファイルの作業プロジェクトを持っています。WebViewを使用してswfファイルを再生し、アセットディレクトリからファイルにアクセスするにはどうすればよいですか?

私はこのウェブサイトで多くの研究を行いましたが、何も起こっていないようですが、私のコードは以下のとおりです。私はルーキーミスをしているだけですか、私にとってはうまくいくように試すことができるほど大きなものがありますか?

私の目標は、アクティビティでMetronome.swfファイルにアクセスして、flashによって生成された.apkと同じように再生することです。ここで

は私のmetronome.xmlファイルです:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical"> 

<WebView 
    android:id="@+id/webview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 
</LinearLayout> 

そして、これは私のMetronomeActivity.javaファイルです:事前に任意の助け

package itcs4155.group4.guitarTeacher; 


import android.os.Bundle; 
import android.webkit.WebView; 

public class MetronomeActivity extends BaseActivity { 
    private WebView mWebView; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.metronome); 


     mWebView = (WebView)findViewById(R.id.webview); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.getSettings().setPluginsEnabled(true); 


     String html = "<object width=\"768\" height=\"1024\"> <param name=\"movie\" value=\"file:///android_asset/Metronome.swf\"> <embed src=\"file:///android_asset/Metronome.swf\" width=\"768\" height=\"1024\"> </embed> </object>"; 
     String mimeType = "text/html"; 
     String encoding = "utf-8"; 
     mWebView.loadDataWithBaseURL("null", html, mimeType, encoding, ""); 
    } 
} 

ありがとう!

答えて

2

swfファイルがWebビューに読み込まれることがあることがあります。アンドロイドを追加

試してください:アンドロイド:あなたのマニフェストファイルでhardwareAccelerated = "true" を。

<application android:hardwareAccelerated="true"> 
     <activity ... /> 
     <activity android:hardwareAccelerated="true" /> 
    </application> 

Akshayは

<activity android:hardwareAccelerated="true" /> 

しかし、私はswfファイルがフルまたはロードをロードしない問題を抱えていた、追加する必要があり、前述したようにそれは...

+0

私はまだ緑の画面を与えています – Basbous

+0

@Akshayは私のためにうまく動作します。 〜 – AndyN

0

を助けるかもしれません最初のswf私のソリューションは、あなたのSWFファイルまたはあなたを公開するときに10または11

にあなたのAPIのバージョンをダウングレードするし、HTMLファイルが正常に生成される必要があるsetPluginsEnabled使用することを覚えておいてください

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mWebView = (WebView) findViewById(R.id.web_engine); 
    mWebView.getSettings().setPluginsEnabled(true); 
    mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
    mWebView.setBackgroundColor(Color.parseColor("#000000")); 
    mWebView.loadUrl("file:///android_asset/swfFile.html"); 


} 

を指すようにしました追加することができます:

<div id="flashContent"> 
     <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%" id=**"Something**" align="middle"> 
      <param name="movie" value="**Something.swf**" /> 
      <param name="quality" value="high" /> 
      <param name="bgcolor" value="#000000" /> 
      <param name="play" value="true" /> 
      <param name="loop" value="true" /> 
      <param name="wmode" value="direct" /> 
      <param name="scale" value="showall" /> 
      <param name="menu" value="true" /> 
      <param name="devicefont" value="false" /> 
      <param name="salign" value="" /> 
      <param name="allowScriptAccess" value="sameDomain" /> 
      <!--[if !IE]>--> 
      <object type="application/x-shockwave-flash" data="**Something.swf**" width="100%" height="100%"> 
       <param name="movie" value="**Something.swf**" /> 
       <param name="quality" value="high" /> 
       <param name="bgcolor" value="#000000" /> 
       <param name="play" value="true" /> 
       <param name="loop" value="true" /> 
       <param name="wmode" value="direct" /> 
       <param name="scale" value="showall" /> 
       <param name="menu" value="true" /> 
       <param name="devicefont" value="false" /> 
       <param name="salign" value="" /> 
       <param name="allowScriptAccess" value="sameDomain" /> 
      <!--<![endif]--> 
       <a href="http://www.adobe.com/go/getflash"> 
        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtener Adobe Flash Player" /> 
       </a> 
      <!--[if !IE]>--> 
      </object> 
      <!--<![endif]--> 
     </object> 
    </div> 
関連する問題