我的应用程序是一个音箱,我的问题是,当播放任何声音时,我无法进行音量调节。
我的意思是,如果你在没有播放媒体的情况下进行音量调节,它只会增加电话的音量(通话......)
我该如何解决? android清单中是否有任何属性可以将我的应用程序转换为"媒体"申请?
谢谢!
答案 0 :(得分:2)
在发布SO之前,建议先先google。
只需点击Google搜索,就可以获得以下信息:
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
并且
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
//Volume up:
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
//Volume down:
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
答案 1 :(得分:0)
通过AudioManager,您可以控制媒体播放器的音量。
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
注意:此方法在API级别23中已弃用。请将adjustStreamVolume(int,int,int)替换为ADJUST_MUTE或ADJUST_UNMUTE。
答案 2 :(得分:0)
Android使用不同的流来播放不同类型的声音,因此您无法在应用程序中实现音量增加"。您可以做的是调整/设置特定流的音量。 AudioManager是你的朋友。
例如,如果您使用MediaPlayer
实例播放某些音乐,则可以在AudioManager
实例上调用adjustStreamVolume(int, int, int)或adjustStreamVolume(int, int)或setStreamVolume(int, int, int)。< / p>
调用adjustStreamVolume(int, int)
会影响&#34;最相关的&#34;}流,因此您不需要手动指定流。