草庐IT

android - Android 中的可视化工具输出取决于设备音量

有suchaquestion已经,但似乎建议的解决方法根本不起作用。Visualizer的输出仍然受到全局音量的影响,并且当音量调到最低但MediaPlayer仍在播放时由零组成。这是我重现此问题的代码:player=newMediaPlayer();player.setAudioSessionId(SHARED_SESSION_ID);try{player.setDataSource("https://example.com/song.mp3");player.setOnPreparedListener(newMediaPlayer.OnPreparedListener(){@Ove

android - 当我在 Android Studio 中收到来电时,如何在单击电源按钮或调高或调低音量时使铃声静音

在我的Android应用程序中,我们完成了VOIP调用。我处理了传入和传出的SIP调用。现在我的问题是在应用程序到应用程序调用期间,我收到了对我的应用程序的传入调用,那时我我正在从设备获取默认铃声并使用RingtoneManager播放该铃声。然后我点击电源按钮或音量向上或向下按钮铃声不是静音像普通电话一样。如何在单击电源按钮和音量增大或音量减小按钮时使传入铃声静音。是否有可用的单击事件?如何解决这个问题?谢谢。 最佳答案 Urinotification=RingtoneManager.getDefaultUri(RingtoneM

android - 通过 AudioManager 访问音频设置会导致其他应用程序的音量降低?

在我正在开发的应用程序中,当前台服务发生更新时,我们必须通过蜂鸣声通知用户。我们使用这个foregroundservice用于录音。要播放哔哔声,我们使用扬声器。我们在播放beep之前启用电话扬声器,并在beep完全播放时禁用,如下所示:stopSoundPlayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){@OverridepublicvoidonCompletion(MediaPlayermediaPlayer){SpeakerManager.get().disable();.....}});Spe

java - Android 在广播接收器中捕获音量增大/减小按键?

我正在尝试制作一个应用程序,用户可以在其中覆盖音量增大/减小按钮(以及屏幕开/关按钮-这可能吗?)的默认行为。无论如何,使用以下代码我可以做到这一点:@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){super.onKeyUp(keyCode,event);if((keyCode==KeyEvent.KEYCODE_VOLUME_UP)){//thisiswhereIcandomystuffreturntrue;//becauseIhandledtheevent}returnfalse;//otherwisethesys

android - 将 ReplayGain 值转换为音量调整

我正在尝试将ReplayGain(即响应音乐文件中的replaygain标签)实现到现有的Android/AOSP音乐播放器应用程序中。这只是一个个人项目,但我可以将它作为补丁提供,或者制作我自己的库或播放器。我首先只关注TrackGain。我的问题的本质可能是因为我数学不及格;)任务是做两件事:A)在播放开始之前,将音量限制在设备最大值-14dB(或者可能更多,一些消息来源建议-23dB)。B)在开始播放每首轨道之前,读取其标签并按该dB数进行调整。我看到在Android中调整播放音量involveslogarithmscalingaswell,但由于我是对数的新手,所以我不确定这是

android - 屏幕锁定时如何获取音量键事件?

@OverridepublicbooleandispatchKeyEvent(KeyEventevent){intaction=event.getAction();intkeyCode=event.getKeyCode();switch(keyCode){caseKeyEvent.KEYCODE_VOLUME_UP:if(action==KeyEvent.ACTION_UP){//TODO}returntrue;caseKeyEvent.KEYCODE_VOLUME_DOWN:if(action==KeyEvent.ACTION_DOWN){//TODO}returntrue;defa

android - 多媒体音量而不是 Android 中的电话音量

我正在为android制作一个简单的音乐应用程序。它工作正常,但是当我想更改多媒体音量时,我无法直接从应用程序进行更改。如果我点击音量增大/减小按钮,它会改变电话通话的音量,所以我应该转到另一个应用程序(游戏),当再次点击这些按钮时,它会改变多媒体音量。你知道有什么方法可以选择这些音量按钮只适用于我的应用程序中的多媒体音量而不是整个手机吗?非常感谢 最佳答案 我不知道是否有默认方法,但你总是可以这样做:publicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEv

android - MediaPlayer - 使用铃声音量而不是媒体音量

如何在MediaPlayer上设置铃声音量而不是媒体音量? 最佳答案 使用setAudioStreamType(int)将媒体类型设置为类型STREAM_RING,那么它应该使用铃声音量而不是默认的STREAM_MUSIC。请注意,您必须在媒体准备好之前执行此操作,因此您必须使用setDataSource手动准备它,而不是使用MediaPlayer.create()。 关于android-MediaPlayer-使用铃声音量而不是媒体音量,我们在StackOverflow上找到一个类似的

android - 在响铃期间更改铃声音量

我想在响铃时更改铃声音量。下面的代码在响铃期间设置它(它在系统设置中更改)但它不会在实际响铃时生效(只有下一个响铃调用才会使用新值)。我可以强制此更改使它们立即生效吗?AudioManageraudio=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);audio.setStreamVolume(AudioManager.STREAM_RING,volume,AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);

android - Android 屏幕关闭时识别音量按钮按下

我正在尝试识别用户何时在屏幕关闭时按下音量键以更新Activity。根据我的阅读,BroadcastReceivers(我认为)在电话处于sleep状态时不工作,因此唯一的方法是使用PARTIAL_WAKE_LOCK保持Activity运行。我的应用程序是一个基本应用程序,不应使用太多电池,但我担心使用PARTIAL_WAKE_LOCK可能会耗尽电池电量(这违背了在屏幕关闭时识别按钮按下的目的)。PARTIAL_WAKE_LOCK实际上会成为基本应用程序的问题吗?如果是这样,执行此操作的最佳方法是什么?如果不是,使用PARTIAL_WAKE_LOCK的最佳方法是什么(即我应该何时获取/