Android MediaPlayer setVolume方法设置程序音量

设置MediaPlayer的音量的方法一般是用AudioManager的setStreamVolume来设置音量,但如果有两个声音,比如设置了背景音乐,调节系统音量则,当前程序音量和背景音乐的声音会同时调节,如果只要调节当前程序的音量就要使用MediaPlayer的setVolume方法。

setVolume有两个参数,我还没搞懂这两个参数有什么区别(左右声道?),我是都设一样,参数的区间是0.0f到1.0f,如果设置超过1.0f,他还是1.0f, MediaPlayer没有像AudioManager有可以获取最大音量的方法,AudioManager的mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), setVolume的最大音量就是当前系统音量,可以通过调节系统音量来改变MediaPlayer的最大音量。

setVolume方法要在setDataSource(filePath),prepareAsync()方法之后调用,否则无效。


如:

mVideoPlayer = new MediaPlayer();

mVideoPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

mVideoPlayer.setDataSource(filePath);
        mVideoPlayer.prepareAsync();

mVideoPlayer.setVolume(0.5f, 0.5f);

mVideoPlayer.start();

你可能感兴趣的:(android)