如何以编程方式设置Videoview音量? [英] How to set Videoview Volume Programmatically?
本文介绍了如何以编程方式设置Videoview音量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有4个动态创建的Videoview.我只想为来自服务器的一个视频设置自定义音量,其余三个视频将静音.
I have 4 Videoview which is created dynamically. I want to set a custom volume for only one video which is coming from the server, the remaining three videos will be mute.
我想为我在以下代码下尝试过的特定视频设置自定义音量
I want to set a custom volume for particular videos I tried below code it's not working
vid1.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
public void onPrepared(MediaPlayer mp)
{
//mp.setVolume(100f, 100f);
//mp.setLooping(true);
vid1.enableSound(20,mp); //here i will set music sound dynamically
vid1.start();
playingvideo1 = true;
}
});
//startTimeForContent = dateFormatForContent.format(new Date());
vid1.setOnErrorListener(mOnErrorListener2);
playBackfunction1();
}
public void enableSound(int sound, MediaPlayer mp){
Float f = Float.valueOf(sound);
Log.e("checkingsounds","&&&&& "+f);
mp.setVolume(f,f);
mp.setLooping(true);
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, sound, AudioManager.FLAG_PLAY_SOUND);
}
当我将音量设为0时,它正在工作...但是当更改10、20、30时,视频将播放完整的声音....
我已经在下面进行研究了
I already research below:
推荐答案
研究了几个小时后,我找到了解决方法
After researching some hours I got a solution
您需要将音量0设置为15
vid1.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
public void onPrepared(MediaPlayer mp)
{
//mp.setVolume(100f, 100f);
//mp.setLooping(true);
vid1.enableSound(10,mp); //set Volume 0 to 15.
vid1.start();
playingvideo1 = true;
}
});
//startTimeForContent = dateFormatForContent.format(new Date());
vid1.setOnErrorListener(mOnErrorListener2);
playBackfunction1();
}
public void enableSound(int sound, MediaPlayer mp){
Float f = Float.valueOf(sound);
Log.e("checkingsounds","&&&&& "+f);
mp.setVolume(f,f);
mp.setLooping(true);
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //Max Volume 15
audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); //this will return current volume.
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, sound, AudioManager.FLAG_PLAY_SOUND); //here you can set custom volume.
}
这篇关于如何以编程方式设置Videoview音量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文