【问题标题】:playing two mediaplayer objects simultaneously using seekbar adjusting volumes for both使用搜索栏同时播放两个媒体播放器对象,同时调整两者的音量
【发布时间】:2014-01-09 09:32:19
【问题描述】:

如何使用单个搜索栏设置 2 个同时播放的媒体播放器对象的音量?

当搜索栏向左移动时,一首歌曲的音量应该增加,而另一首歌曲的音量应该降低。

我尝试为此目的使用 mp.setVolume 方法,但没有用。 据我所知,使用 AudioManager 设置了流音乐。这意味着如果正在播放两首歌曲,那么这两首歌曲的音量要么增加要么减少。还有其他方法吗? 这是我的代码:

    @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                if(progress==progress--)
                {
                    int volume=volumeSeekbar.getMax()-progress;
                mp.setVolume(volume, volume);
                mp1.setVolume(progress,progress);
                //audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
                }
                }

提前致谢。

【问题讨论】:

  • 展示实现seekbar的代码。你如何增加/减少你的音量?
  • 它没有任何区别,因为 mp.setVolume 方法不起作用。随着seekbar的进行,音量既不增加也不减少。
  • 媒体播放器对象的音量不会随着搜索栏的前进而增加或减少。所以它没有用。

标签: android audio seekbar android-audiomanager


【解决方案1】:

在android中使用seekbar控制音量:

Using SeekBar to Control Volume in android?

在那里给出的这个函数中,

@Override
            public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
            {
                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                        progress, 0);
                //Here instead of playing with audioManager, play with your media player objects, by using mp.setvolume() function. Increase one, and decrease the other.
            }
        });

这里不是使用audioManager,而是使用您的媒体播放器对象,使用类似

的东西
 mp1.setvolume(volume_index,volume_index);  
 mp2.setvolume(-volume_index,-volume_index);

增加一个,减少另一个,反之亦然。

注意:您还可以映射进度到 volume_index,方法是检查它是如何递增增加的,然后对 volume_index 执行相同的操作。

【讨论】:

  • 你尝试过我提到的那些改变吗?
  • 我什至尝试过使用 for 和 if 循环......但我真的做不到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
相关资源
最近更新 更多