小编use*_*982的帖子

设置音频属性音量

寻找一个经过长一段时间的方式来播放通知,噪音只有通过耳机(在插入时),在流分开STREAM_MUSIC,在某种程度上,可能中断,并在任何背景音乐完全听得见,安卓终于想出了音频属性 API。通过使用以下代码,我能够准确地实现我想要的通知,至少在 API 21 或更高版本中(这STREAM_MUSIC是我为较低版本找到的最佳选择):

AudioAttributes audioAttributes = new AudioAttributes.Builder()
    .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
    .build();
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎没有任何方法可以在我的应用设置中调整声音的音量。我目前AudioManager按以下方式使用 ,但它只允许对流进行音量调整,并且STREAM_ALARM, STREAM_NOTIFICATION, STREAM_RING, 或都不STREAM_MUSIC适用于用于声音化的任何路由策略:

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, originalVolume, 0);
Run Code Online (Sandbox Code Playgroud)

有没有人对如何设置与AudioAttributes输出相对应的音量有任何建议?请记住,音频实际上是在BroadcastReceiver用于实际通知的 中播放的,并且音频设置将仅在某些设置中指定Activity

notifications volume android-audiomanager android-5.0-lollipop

4
推荐指数
1
解决办法
4537
查看次数

'^'字符匹配Python正则表达式中的'<'和'>'

我想对阵*=,&=,+=,-=,|=,和^=正则表达式,但由于某些原因,下面的图案,可同时接收<=>=:

modifyPat = re.compile('\s*[&\|\*/%\+-^]*=[^=]*')
Run Code Online (Sandbox Code Playgroud)

我做了一些挖掘,发现问题出现是由于^在模式中包含了字符.例如,如果我删除^下面的模式中的as,我会得到预期的匹配行为,但当然会失去能力匹配^=:

modifyPat = re.compile('\s*[&\|\*/%\+-]*=[^=]*')
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,是否有任何方法可以包括^角色,以便匹配^=而不是匹配<=>=我想要的?

python regex python-2.7

1
推荐指数
1
解决办法
175
查看次数