Java Mediaplayer只能播放音频文件的最后几秒钟

Java Mediaplayer只能播放音频文件的最后几秒钟,java,android,media-player,seconds,playsound,Java,Android,Media Player,Seconds,Playsound,我想实现一个只播放音频文件最后5秒(超过5秒)的函数。 Mediaplayer是否支持这一点 我知道如何正常播放音频文件+我知道如何获取文件的持续时间,但如何设置Mediaplayer,使其仅播放最后的短部分? 这意味着从音频文件中的特定时间码播放。实现这一点的一种方法是使用方法获取音频文件的持续时间,然后使用API移动到该位置 在您的情况下,您可以尝试mediaPlayer.seekTo(mediaPlayer.getDuration()-(5*1000))..实现此功能的一种方法是使用方法获

我想实现一个只播放音频文件最后5秒(超过5秒)的函数。 Mediaplayer是否支持这一点

我知道如何正常播放音频文件+我知道如何获取文件的持续时间,但如何设置Mediaplayer,使其仅播放最后的短部分?
这意味着从音频文件中的特定时间码播放。

实现这一点的一种方法是使用方法获取音频文件的持续时间,然后使用API移动到该位置


在您的情况下,您可以尝试
mediaPlayer.seekTo(mediaPlayer.getDuration()-(5*1000))..

实现此功能的一种方法是使用方法获取音频文件的持续时间,然后使用API移动到该位置


在您的情况下,您可以尝试
mediaPlayer.seekTo(mediaPlayer.getDuration()-(5*1000))
..

您可以在准备后致电
seekTo

看看这个例子:

this._mediaPlayer = new MediaPlayer();
this._mediaPlayer.reset();
this._mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
this._mediaPlayer.setDataSource( _data_source_ );
this._mediaPlayer.setOnSeekCompleteListener(this);
this._mediaPlayer.prepare();
this._mediaPlayer.start();
/* Seeking to 1 minute */
this._mediaPlayer.seekTo(60 * 1000);
/* Issue a start in the OnSeekCompleteListener */
调整此示例,以获取流准备好后的持续时间,并将其搜索到持续时间-5秒(如果媒体长度至少为5秒,在您的情况下)


<>强>但是,Android在寻找一个未缓冲的媒体Par时,有一个与使用<代码> Sekto to <代码>有关的bug。查看和以获取更多信息。这个错误应该在Android 2.2中得到解决。

您可以在准备好后调用
seekTo

看看这个例子:

this._mediaPlayer = new MediaPlayer();
this._mediaPlayer.reset();
this._mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
this._mediaPlayer.setDataSource( _data_source_ );
this._mediaPlayer.setOnSeekCompleteListener(this);
this._mediaPlayer.prepare();
this._mediaPlayer.start();
/* Seeking to 1 minute */
this._mediaPlayer.seekTo(60 * 1000);
/* Issue a start in the OnSeekCompleteListener */
调整此示例,以获取流准备好后的持续时间,并将其搜索到持续时间-5秒(如果媒体长度至少为5秒,在您的情况下)


<>强>但是,Android在寻找一个未缓冲的媒体Par时,有一个与使用<代码> Sekto to <代码>有关的bug。查看和以获取更多信息。这个错误应该在Android 2.2中解决。

您知道如何获得持续时间。然后在线程上工作并获得最后的持续时间。如果你知道如何获得持续时间,就开始玩吧。然后在线程上工作并获得最后的持续时间。玩吧,谢谢你。工作完美!我不知道会这么容易,谢谢。工作完美!不知道会那么容易。