当前位置: 首页 > 知识库问答 >
问题:

抑制系统音频音量以从应用程序内部播放通知音频

戚澄邈
2023-03-14
MediaPlayer mPlay = MediaPlayer.create(this, R.raw.sound);
mPlay.start();

谢谢你的帮助

共有1个答案

羊舌和安
2023-03-14

我在下面的链接中得到了这个问题的答案:

http://developer.android.com/training/management-audio/audio-focus.html

我们需要请求音频焦点(瞬时/永久),然后可以播放应用程序音频:

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
// Request audio focus for playback
int result = am.requestAudioFocus(afChangeListener,
                             // Use the music stream.
                             AudioManager.STREAM_MUSIC,
                             // Request permanent focus.
                             AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);

if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
    // Start playback.
    Log.i(TAG, "...audiofocus granted....");
    MediaPlayer mPlay = MediaPlayer.create(this, R.raw.sound);
    mPlay.start();
}

OnAudioFocusChangeListener afChangeListener = new OnAudioFocusChangeListener() {
    public void onAudioFocusChange(int focusChange) {
        if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) {
            // Pause playback
            Log.i(TAG, "....audiofocus loss transient in listener......");
        } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
            // Resume playback 
            Log.i(TAG, "....audiofocus gain in listener......");
        } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
            Log.i(TAG, "....audiofocus loss in listener......");
            //am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
            am.abandonAudioFocus(afChangeListener);
            // Stop playback
        }
    }
};
 类似资料:
  • 我一直无法让应用程序录制音频,同时让iPhone音乐应用程序通过蓝牙扬声器播放。 例如,如果我这样做: 然后音乐应用程序将开始通过iPhone内置的扬声器播放音乐,而不是通过蓝牙。换句话说,似乎没有办法在应用程序中录制音频的同时还允许通过蓝牙播放音乐。 如果我删除AVAudioSessionColloryOptionDefaultToSpeaker,那么音频路由将切换到接收器。这比让它通过iPho

  • 音频的加载方式请参考:声音资源 使用 AudioSource 组件播放 在 层级管理器 上创建一个空节点 选中空节点,在 属性检查器 最下方点击 添加组件 -> 其他组件 -> AudioSource 来添加 AudioSource 组件 将 资源管理器 中所需的音频资源拖拽到 AudioSource 组件的 Clip 中,如下所示: 然后根据需要对 AudioSource 组件的其他参数项进行设

  • 问一下Xamarin.Forms便携里面Xamarin.Forms的音频怎么播放 正如我所知,有依赖服务,我看到了一些示例,只有iOS和Android,但没有Windows Phone 8.1/Windows 8.1和UWP。

  • 我想以编程方式捕获内部音频。例如,我想(在我的设备上)播放一个音频文件,然后捕获音频输出,而不是在音量打开的情况下使用麦克风。 示例用例:我想制作一个其他开发者可以在游戏中使用的库,允许用户录制游戏中的音频。 Android说有回放捕获功能,但我只是找不到一个例子。我在谷歌上搜索了几个小时。每当我搜索“android捕获应用程序声音”或“androidrecordaudio”时,我要么会得到语音录

  • 本文向大家介绍微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例,包括了微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍了微信小程序的开发,主要包括图片、录音、音频播放、音乐播放、视频、文件,具体如下: 图片: wx.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 OBJECT参数说明: 注:文

  • 问题内容: 我正在制作一个Java应用程序,我需要播放音频。尽管我计划循环播放背景音乐,但我主要播放的是我的大炮射击(它是大炮射击游戏)和弹丸爆炸的小声音文件。我找到了两种不同的方法来实现此目的,但是两种方法都不符合我的要求。 第一种方法实际上是一种方法: 问题是我的整个程序停止运行,直到声音文件完成或至少接近完成。 第二种方法是这样的: 我这里的问题是,每次声音文件提早结束或根本不播放时,这取决