请各位高手帮帮忙,如何使用jmf播放.swf文件?

解决方案 »

  1.   

    package mypro;/**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2008</p>
     *
     * <p>Company: </p>
     *
     * @author 张栋芳
     * @version 1.0音频剪辑生产控制类
     *
     */import java.io.*;
    import javax.media.*;
    import java.net.URL;
    import java.applet.Applet;
    public class MusicControl {
      private URL url = null;
      private static Player music = null;
      private boolean setAudio(File filepath) {
        try {
          url = filepath.toURL();
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }
        if (url == null) {
          System.out.println("没有mp3");
          return false;
        }
        try {
          music = Manager.createPlayer(url);
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }
        return true;
      }
      public void play() {
        music.start();
      }
      public void stop() {
        music.stop();
      }
      //退出
      public void exitPlay() {
        File file = new File("music/exit.mp3");
        if (setAudio(file)) {
          music.start();
        }
        else {
          System.out.println("exit");
        }
      }
      //开始
      public void startplay() {
        File file = new File("music/start.mp3");
        if (setAudio(file)) {
          music.start();
        }
      }
      public void musicplay(){//firstItem
        File file=new File("music/刘德华17岁.mp3");
        if(setAudio(file)){
          music.start();
        }
      }
      public void secondPlay(){//secondITem
        File file=new File("music/轻声歌曲.mp3");
        if(setAudio(file)){
            music.start();
        }
      }
      public void threePlay(){//threeItme
        File file=new File("music/老人与海.mp3");
        if(setAudio(file)){
          music.start();
        }
      }
      public void stopPlay(){
        music.stop();
      }
    }
      

  2.   

    看看上面这个,呵,看下swf文件能不能放呀,,,,,,
      

  3.   

    jmf不支持swf,你可以自己写解码
      

  4.   

    你可以添加一个网页窗口的容器 然后在他里面用HTML调用SWF 我就是这样做的
      

  5.   

    这是在窗口中迁入HTML的 这是我收常的一些可以用的原文件中找到的 不知道FLASH标签可否支持 import   java.awt.*;   
      import   javax.swing.*;   
      import   java.awt.event.WindowAdapter;   
      import   java.awt.event.WindowEvent;   
      import   java.io.*;   
      /**   
        *   <p>Title:   </p>   
        *   <p>Description:   </p>   
        *   <p>Copyright:   Copyright   (c)   2003</p>   
        *   <p>Company:   </p>   
        *   @author   not   attributable   
        *   @version   1.0   
        */   
        
      public   class   Aaa   {   
          JFrame   frame;   
          JEditorPane   editorPane;   
          File   file;   
          String   str;   
          JLabel label; 
          public   Aaa()   {   
    //          label  =   new   JLable("<html><font color=red size=3>RED</font></html>");   
              file   =   new   File("html.html");   
              str   =   file.getAbsolutePath();   
              str   =   "file:"+str;
              frame   =   new   JFrame("0000");   
              editorPane   =   new   JEditorPane();   
    editorPane.setEditable(false);          try   {   
                  editorPane.setPage(str);   
              }catch   (IOException   ex)   {   
                  System.out.println("加载不成功!");   
                  System.out.println("IOException:   "   +   ex);   
              }             frame.getContentPane().add(editorPane,   BorderLayout.CENTER);   
        
              frame.addWindowListener(new   WindowAdapter()   {   
                  public   void   windowClosing(WindowEvent   e)   {   
                      System.exit(0);   
                  }});   
                  frame.setSize(200,260);   
                  frame.setVisible(true);   
              }   
          public   static   void   main(String[]   args)   {   
              Aaa   aaa1   =   new   Aaa();   
          }   
        
      }   
    如果需要控制播放你可以看下下文 (声明接下来的内容转自以下页面)
    http://www.hgs521.com/html/dongmanjiaocheng/flash/jc/20080308/12772_2.htmlJS控制  对于客户端页面中的资源,JS通过DOM结构来控制它们可以说是随心所欲的,FLASH也不例外,下面是Flash Player的Javascript方法一览表: 
    Play() —————————————- 播放动画 
    StopPlay()————————————停止动画 
    IsPlaying()———————————– 动画是否正在播放 
    GotoFrame(frame_number)—————- 跳转到某帧 
    TotalFrames()——————————- 获取动画总帧数 
    CurrentFrame()——————————回传当前动画所在帧数-1 
    Rewind()————————————-使动画返回第一帧 
    SetZoomRect(left,top,right,buttom)——-放大指定区域 
    Zoom(percent)——————————改变动画大小 
    Pan(x_position,y_position,unit)————使动画在x,y方向上平移 
    PercentLoaded()—————————-返回动画被载入的百分比 
    LoadMovie(level_number,path)———– 加载动画 
    TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数 
    TGotoLabel(movie_clip,label_name)—— movie_clip跳转到指定标签 来源:http://hgs521.com/ 花果山 
    TCurrentFrame(movie_clip)————— 回传movie_clip当前帧-1 
    TCurrentLabel(movie_clip)—————–回传movie_clip当前标签 
    TPlay(movie_clip)—————————播放movie_clip 
    TStopPlay(movie_clip)———————-停止movie_clip的播放 
    GetVariable(variable_name)—————–获取变量 
    SetVariable(variable_name,value)———–变量赋值 
    TCallFrame(movie_clip,frame_number)—call指定帧上的action 
    TCallLabel(movie_clip,label)—————-call指定标签上的action 
    TGetProperty(movie_clip,property)——–获取movie_clip的指定属性 
    TSetProperty(movie_clip,property,number)———-设置movie_clip的指定属性      在这里我们只需要使用的是粗体标识的SetVariable方法,JS通过调用此方法能够直接更改SWF中的变量值。首先我们需要定义插入的SWF的ID,例如id为VskyDemo,那么我们可以通过下面的JS语句来完成SWF内部变量的设置: window.document.VskyDemo.SetVariable("uid", 12);      很简单吧,就是这样的。除非是涉及到了HTML中SWF之外元素跟它交互,否则我一般不使用JS来控制SWF里的变量,因为我总觉得怪怪的,呵呵,个人习惯吧。多多实践,不要觉得这些小东西不起眼,小东西多了,聚结到一起了就是一个大的应用。条条大路通北京,选择你自己喜欢的,自己认为便捷的方式就可以了,目前我是没有发现这三个方式存在功能上的缺陷本新闻共2页,当前在第2页    2