basicplayer出现这种提示,但没有声音.

jeff_jian 2008-02-25 09:45:56
代码:
import java.io.File;

import javazoom.jlgui.basicplayer.BasicPlayer;
import javazoom.jlgui.basicplayer.BasicPlayerException;

public class PlayerTest {
public static void main(String[] args) {
try {
BasicPlayer player = new BasicPlayer();
File musicfile = new File("/home/jeff/桌面/02 I Knew I Loved You.mp3");
player.open(musicfile);
player.play();
} catch (BasicPlayerException e) {
}
}
}

出现的提示:
2008-2-25 21:34:25 javazoom.jlgui.basicplayer.BasicPlayer open
信息: open(/home/jeff/桌面/02 I Knew I Loved You.mp3)

但没有声音,怎么回事?

...全文
78 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaymin 2008-02-29
  • 打赏
  • 举报
回复
这是BasicPlayer包中提供的测试类,你看一下嘛,可能有帮助。


/*
* BasicPlayerTest.
*
* JavaZOOM : jlgui@javazoom.net
* http://www.javazoom.net
*
*-----------------------------------------------------------------------
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as published
* by the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*----------------------------------------------------------------------
*/
package javazoom.jlgui.basicplayer;

import java.io.File;
import java.io.PrintStream;
import java.util.Map;

/**
* This class implements a simple player based on BasicPlayer.
* BasicPlayer is a threaded class providing most features
* of a music player. BasicPlayer works with underlying JavaSound
* SPIs to support multiple audio formats. Basically JavaSound supports
* WAV, AU, AIFF audio formats. Add MP3 SPI (from JavaZOOM) and Vorbis
* SPI( from JavaZOOM) in your CLASSPATH to play MP3 and Ogg Vorbis file.
*/
public class BasicPlayerTest implements BasicPlayerListener
{
private PrintStream out = null;

/**
* Entry point.
* @param args filename to play.
*/
public static void main(String[] args)
{
BasicPlayerTest test = new BasicPlayerTest();
test.play(args[0]);
}

/**
* Contructor.
*/
public BasicPlayerTest()
{
out = System.out;
}

public void play(String filename)
{
// Instantiate BasicPlayer.
BasicPlayer player = new BasicPlayer();
// BasicPlayer is a BasicController.
BasicController control = (BasicController) player;
// Register BasicPlayerTest to BasicPlayerListener events.
// It means that this object will be notified on BasicPlayer
// events such as : opened(...), progress(...), stateUpdated(...)
player.addBasicPlayerListener(this);

try
{
// Open file, or URL or Stream (shoutcast) to play.
control.open(new File(filename));
// control.open(new URL("http://yourshoutcastserver.com:8000"));

// Start playback in a thread.
control.play();

// Set Volume (0 to 1.0).
// setGain should be called after control.play().
control.setGain(0.85);

// Set Pan (-1.0 to 1.0).
// setPan should be called after control.play().
control.setPan(0.0);

// If you want to pause/resume/pause the played file then
// write a Swing player and just call control.pause(),
// control.resume() or control.stop().
// Use control.seek(bytesToSkip) to seek file
// (i.e. fast forward and rewind). seek feature will
// work only if underlying JavaSound SPI implements
// skip(...). True for MP3SPI (JavaZOOM) and SUN SPI's
// (WAVE, AU, AIFF).

}
catch (BasicPlayerException e)
{
e.printStackTrace();
}
}

/**
* Open callback, stream is ready to play.
*
* properties map includes audio format dependant features such as
* bitrate, duration, frequency, channels, number of frames, vbr flag,
* id3v2/id3v1 (for MP3 only), comments (for Ogg Vorbis), ...
*
* @param stream could be File, URL or InputStream
* @param properties audio stream properties.
*/
public void opened(Object stream, Map properties)
{
// Pay attention to properties. It's useful to get duration,
// bitrate, channels, even tag such as ID3v2.
display("opened : "+properties.toString());
}

/**
* Progress callback while playing.
*
* This method is called severals time per seconds while playing.
* properties map includes audio format features such as
* instant bitrate, microseconds position, current frame number, ...
*
* @param bytesread from encoded stream.
* @param microseconds elapsed (<b>reseted after a seek !</b>).
* @param pcmdata PCM samples.
* @param properties audio stream parameters.
*/
public void progress(int bytesread, long microseconds, byte[] pcmdata, Map properties)
{
// Pay attention to properties. It depends on underlying JavaSound SPI
// MP3SPI provides mp3.equalizer.
display("progress : "+properties.toString());
}

/**
* Notification callback for basicplayer events such as opened, eom ...
*
* @param event
*/
public void stateUpdated(BasicPlayerEvent event)
{
// Notification of BasicPlayer states (opened, playing, end of media, ...)
display("stateUpdated : "+event.toString());
if (event.getCode()==BasicPlayerEvent.STOPPED)
{
System.exit(0);
}
}

/**
* A handle to the BasicPlayer, plugins may control the player through
* the controller (play, stop, ...)
* @param controller : a handle to the player
*/
public void setController(BasicController controller)
{
display("setController : "+controller);
}

public void display(String msg)
{
if (out != null) out.println(msg);
}

}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧