【问题标题】:Android MediaPlayer.getCurrentPosition not updatingAndroid MediaPlayer.getCurrentPosition 未更新
【发布时间】:2012-11-06 09:19:42
【问题描述】:
【问题讨论】:
标签:
android
streaming
mp3
media-player
【解决方案1】:
我也遇到了同样的问题。我通过使用setAudioStreamType(int) 方法确定流的类型解决了这个问题:
Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
【解决方案2】:
我在这里发现了问题。首先,我正在运行的模拟器没有打开音频,所以我需要在 Eclipse 的 AVD 管理器中添加启用音频的布尔值。没有打开音频是导致它总是返回 261 毫秒的原因。还有第二个问题。请参阅下面的 2 个代码 sn-ps。第一个是我的代码,第二个是教程中的代码。有一个细微的差别(括号的数量)导致第一个总是评估为 0。
seekBarProgress.setProgress((int)((float) mediaPlayer.getCurrentPosition() / getMp3Duration()) * 100);
seekBarProgress.setProgress((int) (((float) mediaPlayer.getCurrentPosition() / getMp3Duration()) * 100));