java编程播放声音只有画面没有声音,代码没有错误,是怎么回事

package audio;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.AudioClip;
public class sounda extends Applet implements ActionListener
{

/*
<html>
  <applet code=audioSample.class width=200 height=60>
  </applet>
</html>
*/

  Label lb;                                   //标签,显示使用类方法的信息
  AudioClip clip;
  boolean looping=false;
  Button audioOnce=new Button("once"),
         audioLoop=new Button("loop"),
         audioStop=new Button("stop");
  public void init(){
   this.play(getCodeBase(),"hi.au");//此处调用Applet类的方法
    lb=new Label("调用Applet类方法.");
    clip=getAudioClip(getCodeBase(),"hi.au"); 
    //clip=getAudioClip(getDocumentBase(),"audio/canon.aiff");  //供试验
    //clip=getAudioClip(getDocumentBase(),"audio/1.mid");//供试验
    audioOnce.addActionListener(this);    add(audioOnce);
    audioLoop.addActionListener(this);    add(audioLoop);
    audioStop.addActionListener(this);    add(audioStop);
    add(lb);              validate();
  }
  public void start(){
    if(looping){ clip.loop(); }
  }
  public void stop(){ 
if(looping){ clip.stop(); }
  }
  public void actionPerformed(ActionEvent e){
    if(e.getSource()==audioOnce){
      lb.setText("调用AudioClip类方法.");
      clip.play();       //此处调用AudioClip类的方法
      looping=true;      audioStop.setEnabled(true);
    }
    else if(e.getSource()==audioLoop){
      lb.setText("调用AudioClip类方法.");
      clip.loop();      looping=true;    audioStop.setEnabled(true);
    }
    else{
      lb.setText("调用AudioClip类方法.");
      clip.stop();      looping=false;   audioStop.setEnabled(false);
    }
  }

}

换一个视频文件看看。视频和音频是不同的编码,可能视频编码支持而音频不支持,导致没有声音,那么你的代码不见得有问题。

换一个视频文件试试,要不再换不同格式的视频文件试试