简体   繁体   中英

Java Android: Mediaplayer fades automatically

I've figured out that the MediaPlayer on Android 4.4.2 seems to fade-in the Audiofile automatically. I am using the MediaPlayer for playing a Sound that mustn't be faded in. It worked well with a Smarthpone with 4.2.1, but on another Phone with 4.4.2 the Fading occurs.

I've also had a look at the SoundPool, but it misses the Feature of letting me know if the File is still playing.

Am I able to switch off the automatic fade-in or do I need to use the Soundpool and keep an eye on the length of the Track on my own?

Thanks, VanDahken

You can try to setAudioAttributes(AudioAttributes attributes) before start playing.

 atrs = new AudioAttributes.Builder()
             .setUsage(AudioAttributes.USAGE_MEDIA)
             .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
             .build();

Try to play with CONTENT_TYPE .

I have the same issue. The good thing is that it worked on a couple other Android versions, so hopefully only 4.4.2 has the problem. My first solution I discovered was to use an uncompressed music file... (.wav with data format LEI16) but the music file was way too big.

I also found that the fade-in doesn't seem to happen if you set the audio stream type to STREAM_RING but that's probably not a good idea since it's meant for phone rings.

For my app I only have one critical spot (when the app first starts) where the music has to play without the fade-in, and I was able to get a fix for that. The intro takes a few seconds before the music starts, so what I am doing is:

-prepareAsync() at the start of the intro

-then when prepared, setVolume() to 0f and start()

-then, after a small delay (for my case that ends up being a few seconds: the time it takes for the app's intro to complete), add a seek listener, and seekTo(0)

-when the seek completes, set the volume to the desired value

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM