首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以从Android应用程序控制Android中默认媒体播放器的音量吗?

可以从Android应用程序控制Android中默认媒体播放器的音量吗?
EN

Stack Overflow用户
提问于 2011-01-23 18:03:19
回答 2查看 2K关注 0票数 3

我有以下要求。

我正在开发一个Android移动应用程序。已将定时器设置为活动的特定持续时间。

  1. 当计时器持续时间为10秒时,我需要播放三次“嘟嘟”声音(即变为零);当计时器持续时间为5秒时,我需要播放两次“嘟嘟”声音&计时器结束时,只需播放一次“嘟嘟”声音。
  2. 用户可能在使用Android移动应用程序时使用Android手机的默认音乐播放器播放音乐。我需要实现逻辑,以便当从移动应用程序中播放"beep“声音时,首先需要减小默认音乐的音量,然后播放"beep”声音&在"beep“声音按要求的时间播放之后,再次重置为原来的音量。

我想知道,这在技术上是否可行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-23 18:13:32

是的,您可以使用AudioManager来更改音乐的音量。函数setStreamVolume是您要寻找的。您要寻找的流类型是音乐

2:http://developer.android.com/reference/android/media/AudioManager.html#setStreamVolume(int

票数 3
EN

Stack Overflow用户

发布于 2012-04-19 02:27:32

实现这一目标的一种方法是利用平台的功能,允许应用程序请求音频焦点,同时允许其他应用程序“躲闪”。这让你可以告诉系统。“嘿,我要播放一些东西,告诉其他同样播放音频的应用程序,可以继续播放,但要降低音量。”

下面是相关的示例代码和管理音频焦点部分中的注意事项。

当请求临时音频焦点时,您有一个额外的选项:是否要启用“躲避”。正常情况下,当一个行为良好的音频应用程序失去音频焦点时,它会立即停止播放。通过请求一个暂时的音频焦点,让你告诉其他音频应用程序,只要他们降低音量,直到焦点返回给他们,他们就可以继续播放了。

代码语言:javascript
复制
AudioManager am = mContext.getSystemService(Context.AUDIO_SERVICE);
// Request audio focus for playback
int result = am.requestAudioFocus(afChangeListener,
                             // Use the music stream.
                             AudioManager.STREAM_NOTIFICATION,
                             //tell them it's ok to duck
                             AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
    // Start playback.
}

我希望它能帮到别人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4775421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档