Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从服务调用setVolumeControlStream_Android_Android Service_Android Audiomanager - Fatal编程技术网

Android 从服务调用setVolumeControlStream

Android 从服务调用setVolumeControlStream,android,android-service,android-audiomanager,Android,Android Service,Android Audiomanager,我需要从通过STREAM\u系统播放声音的服务中调用setVolumeControlStream。 显然,在一个没有问题的活动中,我如何使用服务做到这一点?我认为这个库可以为您提供您所需要的: 从外观上看,这不可能是您尝试的方式 正如在报告中所说的那样 建议的音频流将绑定到此活动的窗口 因此,对于一个没有活动的服务,就没有可以将音频流绑定到的窗口 但是,看起来您应该能够从广播公司接收媒体密钥事件(包括音量密钥),如图所示,这样您就可以在不显示活动的情况下更改服务音量。如果库也不可能(尽管看起来不

我需要从通过
STREAM\u系统播放声音的服务中调用
setVolumeControlStream

显然,在一个没有问题的活动中,我如何使用服务做到这一点?

我认为这个库可以为您提供您所需要的:


从外观上看,这不可能是您尝试的方式

正如在报告中所说的那样

建议的音频流将绑定到此活动的窗口

因此,对于一个没有活动的服务,就没有可以将音频流绑定到的窗口


但是,看起来您应该能够从广播公司接收媒体密钥事件(包括音量密钥),如图所示,这样您就可以在不显示活动的情况下更改服务音量。

如果库也不可能(尽管看起来不错).我看过这个解决方案,但它似乎不起作用:没有办法使用广播接收器接收音量键事件。在您发布的链接上,android.intent.action.MEDIA_按钮用于播放按钮,如播放/暂停、下一步、上一步等。。。但是没有音量按钮。我错了,我想这在服务中是不可能的。因此,原因似乎是停止应用程序捕获音量事件并干扰用户更改振铃器音量/系统音量的能力。有什么原因不能使用STREAM_MUSIC吗?就我而言,这是因为我想在我的应用程序播放音乐时将其他应用程序静音。由于所有其他应用程序都使用STREAM_MUSIC,我找到的解决方案是将STREAM_MUSIC静音并使用另一个流。一些音乐应用程序(如MortPlayer和Audible)允许您控制媒体音量,即使活动未处于活动状态。一定有别的解决办法。。。