我正在使用Windows 7并且可以在我的混音器中使用“Java Platform SE Binary”,但似乎仍然没有声音。
我的代码是:
import javax.media.*;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLExc;
public class SimpleAudioPlayer {
private Player audioPlayer = null;
public SimpleAudioPlayer(URL url) throws IOException, NoPlayerException,
CannotRealizeException {
audioPlayer = Manager.createRealizedPlayer(url);
}
public SimpleAudioPlayer(File file) throws IOException, NoPlayerException,
CannotRealizeException {
this(file.toURL());
}
public void play() {
audioPlayer.start();
}
public void stop() {
audioPlayer.stop();
audioPlayer.close();
}
public static void main(String[] args) {
try{
File audioFile = new File("/t.mp3");
SimpleAudioPlayer player = new SimpleAudioPlayer(audioFile);
System.out.println();
System.out.println("-> Playing file '" +
audioFile.getAbsolutePath() + "'");
System.out.println(" Press the Enter key to exit");
player.play();
// wait for the user to press Enter to proceed.
System.in.read();
System.out.println("-> Exiting");
player.stop();
}catch(Exception ex){
ex.printStackTrace();
}
System.exit(0);
}
}
我使用的是Windows Preformance JMF版本。尝试播放的MP3在VLC / WMP中工作正常,因此它不能成为文件。
代码在运行时也不会抛出任何异常或错误,它似乎无法播放声音。
有什么东西我不见了?喜欢拉声卡?例如。接管它,这样我就可以发出声音了吗?
我的总体目标是使用RTP / RTSP进行MP3流媒体服务,因此任何链接,建议或tuturiols都可以帮助我使用IBM JMF Tuturiol和Java Demo
请询问是否需要更多信息!
UPDATE -
下载了WAV FILE它好像可以播放,我怎样才能播放MP3?
添加了格式并尝试了此代码,但问题仍然存在:
import java.io.File;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.PlugInManager;
import javax.media.format.AudioFormat;
public class SimpleAudioPlayer {
public static void main(String[] args) {
Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
Format input2 = new AudioFormat(AudioFormat.MPEG);
Format output = new AudioFormat(AudioFormat.LINEAR);
PlugInManager.addPlugIn(
"com.sun.media.codec.audio.mp3.JavaDecoder",
new Format[]{input1, input2},
new Format[]{output},
PlugInManager.CODEC
);
try {
Player player = Manager.createPlayer(new MediaLocator(new File("/t.mp3").toURI().toURL()));
player.start();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}
无法处理格式:mpeglayer3,44100.0 Hz,16位,立体声,LittleEndian,有符号,16000.0帧速率,FrameSize = 32768位 未能实现:com.sun.media.PlaybackEngine@62deaa2e 错误:无法实现com.sun.media.PlaybackEngine@62deaa2e
这就是错误!
答案 0 :(得分:1)
正如我所想,这是一个缺少的编解码器。
我认为这就是您所需要的:http://www.oracle.com/technetwork/java/javase/download-137625.html