1

我正在尝试将 mp3 文件从服务器发送到客户端并播放它,但我不知道该怎么做。我一直在查看 Media 和 Media Player java 类,但仍然不明白它们是如何工作的,也不知道在这种情况下使用它是否正确,因为我不希望在程序完成后将音乐存储在计算机上关闭。这是我的第一个问题,如果有任何错误,我很抱歉,但我会学习的。

服务器代码片段:

if(number == songNumber)
{
  File song = files[i];

  byte[] bytearray  = new byte [(int)song.length()];
  FileInputStream fin = new FileInputStream(song);
  BufferedInputStream bin = new BufferedInputStream(fin);

  bin.read(bytearray,0,bytearray.length);
  OutputStream os = socket.getOutputStream();
  System.out.println("Sending Files...");

  os.write(bytearray,0,bytearray.length);
  os.flush();
  socket.close();
  bin.close();
  System.out.println("File transfer complete");
}

客户端代码片段:

InputStream is = socket.getInputStream();
FileOutputStream fos = new FileOutputStream("copy.doc");
BufferedOutputStream bos = new BufferedOutputStream(fos);

byte [] bytearray  = new byte [filesize];
bytesRead = is.read(bytearray,0,bytearray.length);
currentTot = bytesRead;

do 
{
  bytesRead = is.read(bytearray, currentTot, (bytearray.length-currentTot));
  if(bytesRead >= 0) currentTot += bytesRead;
} 
while(bytesRead > -1);
{
  bos.write(bytearray, 0 , currentTot);
}
4

2 回答 2

1

Java 7 定义了一些不错的类,所以从这里开始

String bip = "bip.mp3";
Media hit = new Media(bip);
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();

如果您需要非 Java 7 方法,请按照 Andrew 的说明操作并使用 MP3 SPI。

于 2013-03-14T03:02:39.110 回答
-1
import sun.audio.*;
import java.io.*;

public class playsound{
  public static void main(String[] args){
    try {
      FileInputStream fileau=new FileInputStream("D:/01.mid" );
      AudioStream as=new AudioStream(fileau);
      AudioPlayer.player.start(as);
    }
    catch (Exception e) {System.out.println("failed!");}
  }
}

希望这可以帮到你。

于 2013-03-14T02:50:54.363 回答