【问题标题】:Android: Show Media Volume Slider on the UIAndroid:在 UI 上显示媒体音量滑块
【发布时间】:2012-02-28 19:06:18
【问题描述】:

更新:

所以我使用 seekbar 和 Seekbar 并连接听众

onCreate 方法:

audio = (AudioManager)  this.getSystemService(Context.AUDIO_SERVICE); 
volume_label.setText(String.valueOf(volume));*/ 
volumebar.setMax(audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
volumebar.setProgress(60); 
volumebar.setOnSeekBarChangeListener(VolumeChange); 

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);


private OnSeekBarChangeListener VolumeChange = new  OnSeekBarChangeListener()
    { 
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
        { 
            int index = seekbar.getProgress(); 
             audio.setStreamVolume(AudioManager.STREAM_MUSIC, index, 1); 
           //  volume_label.setText(String.valueOf(index)); 
        } 
        public void onStartTrackingTouch(SeekBar seekBar) 
        {
            //
        } 

        public void onStopTrackingTouch(SeekBar seekBar) 
        {
            //
        } 
    };

但我可以使用搜索器但不影响音频声音,尝试增加和减少声音但没有效果,我还应该实现什么?

更新结束

我正在开发具有播放/暂停/上一个/下一个/搜索器的 MediaPlayer,一切都按预期工作,我计划添加volume slider,以便用户可以更改音量,而不是使用硬件音量增大/减小按钮。

我尝试了这段代码,但没有像这样显示在 UI 上。

onCreate 方法内部:

Activity.setVolumeControlStream(AudioManager.STREAM_MUSIC)  

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 40, AudioManager.FLAG_PLAY_SOUND);

【问题讨论】:

标签: android android-mediaplayer


【解决方案1】:

希望这对其他人有所帮助...这是我能够实现的目标:

  leftAm = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    int maxVolume = leftAm.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    int curVolume = leftAm.getStreamVolume(AudioManager.STREAM_MUSIC);
    SeekBar volControl = (SeekBar)findViewById(R.id.leftVolume);
    volControl.setMax(maxVolume);
    volControl.setProgress(curVolume);
    volControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {


    @Override
    public void onStopTrackingTouch(SeekBar arg0) {
     // TODO Auto-generated method stub
    }

    @Override
    public void onStartTrackingTouch(SeekBar arg0) {
     // TODO Auto-generated method stub
    }

    @Override
    public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
     // TODO Auto-generated method stub
     leftAm.setStreamVolume(AudioManager.STREAM_MUSIC, arg1, 0);
    }
   });  

.xml:

<SeekBar
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/volumebar"
            android:max="100"
            android:paddingBottom="10dip"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    相关资源
    最近更新 更多