【发布时间】:2009-06-30 16:39:34
【问题描述】:
我需要在我的 java 代码中播放 MP3 文件的一部分。我希望通过一个接受以毫秒为单位的开始和停止时间的函数来做到这一点。
JLayer 包含一个名为 AdvancedPlayer 的类,它有一个接受帧中开始和停止位置的方法:
/**
* Plays a range of MPEG audio frames
* @param start The first frame to play
* @param end The last frame to play
* @return true if the last frame was played, or false if there are more frames.
*/
public boolean play(final int start, final int end) throws JavaLayerException
{
boolean ret = true;
int offset = start;
while (offset-- > 0 && ret) ret = skipFrame();
return play(end - start);
}
根据this,一帧持续26毫秒。但是我需要比这更精细的控制,即我可能希望从 40 毫秒到 50 毫秒。
我该怎么做?我需要先将 MP3 转换为 .wav 吗?
【问题讨论】: