`

将flash嵌入你的程序中[转]

 
阅读更多

 

  无论如何,我们需要一个android2.2的平板电脑或者android2.2的手机一部,同时我们的android平台需要安装最新的flash for android 的插件。  具备了这些之后,我们就可以将flash通过webView的方式嵌入到我们自己的程序中了。

  需要的知识:JavaScript知识、java知识、html知识,了解css的话,那最好。

 

  不多说,和以前一样,直接上代码,上图。不解释太多。。。。

 

1. 项目结构图

 

 

2. 程序运行图

 

3.MainActivity .java  主类

package com.geolo.js.falsh;  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.view.View;  
import android.webkit.WebChromeClient;  
import android.webkit.WebSettings.PluginState;  
import android.webkit.WebView;  
import android.widget.Button;  
import android.widget.FrameLayout;  
import android.widget.ProgressBar;  
public class MainActivity extends Activity {  
    private WebView mWebView;  
    private Button playButton,pauseButton;  
    private ProgressBar mProgressBarHorizontal;  
    private final static int PROGRESSBARSIZE = 0x0000;  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        mWebView = (WebView)findViewById(R.id.webView01);   
        mProgressBarHorizontal = (ProgressBar)findViewById(R.id.progress_horizontal);  
        this.setProgress(mProgressBarHorizontal.getProgress() * 100);  
        //this.setSecondaryProgress(mProgressBarHorizontal.getSecondaryProgress() * 100);  
        playButton = (Button)findViewById(R.id.playButton);  
        pauseButton = (Button)findViewById(R.id.pauseButton);  
        playButton.setOnClickListener(buttonListener);  
        pauseButton.setOnClickListener(buttonListener);  
        mWebView.getSettings().setJavaScriptEnabled(true);    
        //mWebView.getSettings().setPluginsEnabled(true);  
        mWebView.getSettings().setPluginState(PluginState.ON);  
        mWebView.setWebChromeClient(new WebChromeClient());   
        mWebView.addJavascriptInterface(new CallJava(), "CallJava");  
        mWebView.loadUrl("file:///android_asset/sample/index.html");   
        startThread();  
    }  
    Button.OnClickListener buttonListener = new Button.OnClickListener() {    
        @Override  
        public void onClick(View v) {  
            int buttonID = v.getId();  
            switch (buttonID) {  
            case R.id.playButton:  
                mWebView.loadUrl("javascript:Play()");  
                showFlashProgress(5);  
                break;  
            case R.id.pauseButton:  
                mWebView.loadUrl("javascript:Pause()");  
                break;  
            default:  
                break;  
            }  
        }  
    };  
    public void showFlashProgress(float progressSize){  
        int size = (int)progressSize;  
        //Toast.makeText(this, size+"", Toast.LENGTH_SHORT).show();  
        mProgressBarHorizontal.setProgress(size);  
    }  
    @Override  
    protected void onPause(){  
        super.onPause();  
        mWebView.pauseTimers();  
        if(isFinishing()){  
            mWebView.loadUrl("about:blank");  
            setContentView(new FrameLayout(this));  
        }  
    }  
    @Override  
    protected void onResume(){  
        super.onResume();  
        mWebView.resumeTimers();  
    }  
    private final class CallJava{  
        public void consoleFlashProgress(float  progressSize){  
            showFlashProgress(progressSize);  
        }  
    }  
    private void startThread(){  
        //通过线程来改变ProgressBar的值  
        new Thread(new Runnable() {  
            @Override  
            public void run() {  
                while(!Thread.currentThread().isInterrupted()){  
                    try {  
                        Thread.sleep(2000);  
                        Message message = new Message();  
                        message.what = MainActivity.PROGRESSBARSIZE;  
                        MainActivity.this.myMessageHandler.sendMessage(message);  
                    } catch (Exception e) {  
                        Thread.currentThread().interrupt();  
                    }  
                }  
            }  
        }).start();  
    }  
    Handler myMessageHandler = new Handler() {  
        @Override  
        public void handleMessage(Message msg) {  
            switch (msg.what) {  
            case MainActivity.PROGRESSBARSIZE:  
                mWebView.loadUrl("javascript:showcount()");  
                break;  
            default:  
                break;  
            }  
            super.handleMessage(msg);  
        }  
    };  
} 
 

 

 4. main.xml

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical" android:layout_width="fill_parent"  
    android:layout_height="fill_parent">  
    <WebView android:id="@+id/webView01" android:layout_width="wrap_content"  
        android:layout_height="wrap_content" />  
          
    <ProgressBar android:id="@+id/progress_horizontal"  
        style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent"  
        android:layout_height="wrap_content" android:max="100"  
        android:progress="0" android:secondaryProgress="0" />  
          
    <LinearLayout android:orientation="horizontal"  
        android:layout_width="fill_parent" android:layout_height="wrap_content">  
        <Button android:id="@+id/playButton" android:layout_width="wrap_content"  
            android:layout_height="wrap_content" android:text="play" />  
        <Button android:id="@+id/pauseButton" android:layout_width="wrap_content"  
            android:layout_height="wrap_content" android:text="pause" />  
    </LinearLayout>  
</LinearLayout>
 

 

5. index.html

<mce:script src="play.js" mce_src="play.js"></mce:script>  
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">  
  <tr>  
    <td>  
     <object id="movie" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"   
         codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"   
        align="middle">  
       <param name="movie" value="about:blank" />  
       <param name="quality" value="high" />  
     </object>  
    </td>  
  </tr>  
</table>  
     
     
   <!-- <a href="javascript:CallJava.consoleFlashProgress(3)" mce_href="javascript:CallJava.consoleFlashProgress(3)">add Progress</a>   
   <a href="#" mce_href="#" onClick="showcount()">add Progress</a>   
    -->  
<mce:script type="text/javascript"><!--  
  loadSWF("testFlash.swf","800","480"); //loadSWF("flash地址","宽度","高度")  
// --></mce:script>
 

 

6.play.js

var total;//定义flash影片总桢数  
var frame_number;//定义flash影片当前桢数  
//以下是滚动条图片拖动程序  
var dragapproved=false;  
var z,x,y  
//动态显示播放影片的当前桢/总桢数(进度条显示)  
function showcount(){  
    //已测可用CallJava.consoleFlashProgress(5);  
    total = movie.TotalFrames;  
    frame_number=movie.CurrentFrame();  
    frame_number++;  
    var progressSize = 100*(frame_number/movie.TotalFrames());  
    CallJava.consoleFlashProgress(progressSize);  
}  
//播放影片   
function Play(){  
    movie.Play();  
}  
//暂停播放  
function Pause(){  
 movie.StopPlay();  
}  
//开始载入flash影片  
function loadSWF(fsrc,fwidth,fheight){  
 movie.LoadMovie(0, fsrc);  
 movie.width=fwidth;  
 movie.height=fheight;  
 frame_number=movie.CurrentFrame();  
 jindu();  
}  
 
分享到:
评论

相关推荐

    将Flash 嵌入WPF 程序源码

    将Flash 嵌入WPF 程序源码 将Flash 嵌入WPF 程序源码

    在wpf中嵌入flash

    在wpf中嵌入flash,操作文档加程序

    wpf中嵌入flash动画

    在wpf程序中嵌入flash动画。 代码是vs 2010 C#描述。

    wpf中嵌入flash小游戏

    将flash小游戏嵌入到wpf中源码程序 有源码 可执行

    ppt文件嵌入Flash提取器(VB.Net)

    在使用中发现有的ppt文件中嵌入了flash文件,基于某些特殊的原因我们需要把这些嵌入的flash文件提取出来为单独的Flash文件,这样就可以把它用于其他的ppt文件或者用flash反编译的程序把flash文件反编译出来进行某些...

    易语言嵌入flash例程

    易语言的flash程序源码,源程序,免费下载了

    使用 Flex 和 Flash Builder 开发手机应用程序

    在手机应用程序中嵌入字体 在手机控件中使用 HTML 文本 第 6 章: 外观设计 手机外观设计的基础知识 为手机应用程序创建外观 应用自定义手机外观 第 7 章: 运行和调试手机应用程序 管理启动配置 在桌面上运行和...

    在VC中使用 Flash 美化你的程序

    在VC中使用 Flash 美化你的程序 利用flash可以作出很漂亮的动画,想不想让自己的程序也有这样漂亮的界面呢?...在这里将介绍怎样把falsh制作的界面嵌入到自己的程序中,并让flash动画和自己的程序进行交互。

    flash嵌入html 在html网页代码中嵌入Flash文件的解决方案(上)

    中国人的习俗,没过完正月十五就还是在过年,在这里给园子你的朋友们拜个晚年了。 这几天恰逢公司网站首页需要改版,去年底公司“人员精简”后,一个人得做多个人的活,忽然之间发觉担子重了。这不, 本不是我工作...

    FlashMagic.exe

    NXP的最新版HEX下载软件,单片机.arm烧录工具,win10版。嵌入系统开发必备软件,版本号12.75 build 5732

    应用程序上屏蔽FLASH控件的右键菜单并获得左键消息

    使用FLASH做界面美化是一种较为常见的方式,FLASH动画制做简单,美观大方,而且将FLASH嵌入到应用程序界面上也是非常容易的,只要放置一个Shockwave Flash控件即可。但这样做出来的界面有两个问题,一是在FLASH上...

    官方flash13.0

    Adobe Flash Player是一种广泛使用的、专有的多媒体程序播放器。它最初由Macromedia编写,在Macromedia被Adobe收购后由Adobe继续开发并分发。...因此Flash 成为嵌入网页中的小游戏、动画以及图形用户界面常用的格式。

    强大的Flash动画生成工具 - SWiSH Max3 v3.0 简体中文特别版

    它们也可以放到电子邮件上发送,嵌入微软的PowerPoint演示文稿,或纳入微软的Word文件中。 版本:v3.0 Build:2009.11.30 * 注:此程序汉化版本基于官方英文原版语言文件制作;  本安装程序部分资源基于官方繁体...

    在RAM中执行程序代码

    点击“打开文件”装入文件夹“在片外RAM中运行的程序”下的一个程序文件(HEX格式),在这些程序中,所有起始地址都已经预先设置好了; 按实验箱上单片机的RST键,会看到显示“Ready”; 点击“发送文件”,程序...

    flashActiveX_27.0.0.183.exe

    Adobe Flash Player是一种广泛使用的、专有的多媒体程序播放器。它最初由Macromedia编写,在Macromedia被Adobe收购后由Adobe继续开发并分发。...因此Flash 成为嵌入网页中的小游戏、动画以及图形用户界面常用的格式。

    flash控制库f_in_box3.0.2修改版(.net DEMO版改无限制,可做透明背景flash程序)

    想在C#(VC.net)中轻松控制flash吗?想实现只有透明背景的flash程序吗?用Flash轻松打造应用程序超酷的界面试试用f_in_box。 此修改版是我根据其demo版修改的,去掉了demo的多余显示,其本身没有功能限制。 在...

    追梦FCMS迷你flash相册程序.rar

    XML版本:可以单独运行在任何支持flash的环境,更可以嵌入到其他swf中,可以手动配置content.xml文件,也可以通过后台在asp环境下自动生成xml文件,swf文件为xmlpreview.swf 追梦相册程序既可以独立运行,也可以...

    追梦MP3在线播放器flash版 v1.0

    后台 xmleditor/login.asp admin/admin版本功能:作为单独flash播放器,你可以将这个程序嵌入到任何支持asp的页面中,通过后台你可以轻易的拥有自己的歌曲列表,外部链接的支持让服务器压力骤减。单独的xml模块更...

Global site tag (gtag.js) - Google Analytics