Hi everyone,
I am having the following problem: I am using Android's MediaPlayer
to play an mp3 through an HTTP connection. The audio is played
correctly, but the MediaPlayer returns an incorrect duration (calling
mediaPlayer.getDuration() ). Depending on the mp3 the duration is
either shorter or longer.
The code that plays the audio is the following:
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.setOnErrorListener(this);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnBufferingUpdateListener(this);
mediaPlayer.setDataSource("a valid URL");
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepareAsync();
The strange part is that I can reproduce the problem using the
default android's music player. If I access the file directly with
Android's browser, a simple music player opens up and it show the same
wrong duration. If I copy the mp3 directly to the phone and play it
directly from there, then it shows the correct duration.
The server returns this response:
HTTP/1.1 200 OK
Date: Thu, 27 May 2010 20:59:48 GMT
Content-Type: audio/mpeg
Server: aaaaaa
Content-Encoding: gzip
Transfer-Encoding: chunked
Does anyone has a similar problem? Or can anyone give me a clue
about what I might be missing to add so the MediaPlayer can fetch the
correct duration?
Thanks in advance :)
- Demian
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en