android 音频抢占问题

复制代码
private val mAudioManager: AudioManager by lazy {
    Utils.getApp().getSystemService(Context.AUDIO_SERVICE) as AudioManager
}
复制代码
fun checkSpeakerOn():Boolean {

    val afChangeListener = AudioManager.OnAudioFocusChangeListener { focusChange ->
            if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT ||
                focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
            ) {
                // 音频焦点暂时丢失,可能是因为多媒体占用
                LogUtils.d(TAG, "Temporarily lost audio focus due to media play")
            } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
                // 永久失去音频焦点,可能是因为多媒体或其他应用正在播放
                LogUtils.d(TAG, "Permanently lost audio focus")
            } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
                // 重新获得音频焦点
                LogUtils.d(TAG, "Gained audio focus")
            } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) {
                // 暂时失去焦点,但允许降低音量而不是停止播放
                LogUtils.d(TAG, "Temporarily lost audio focus, can duck")
            }
        }

    val result: Int = mAudioManager.requestAudioFocus(
        afChangeListener,
        AudioManager.STREAM_MUSIC,
        AudioManager.AUDIOFOCUS_GAIN
    )
    return if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
        // 成功获取到音频焦点
        true
    }else
        false
}
相关推荐
_乐无1 分钟前
Unity 发布 Android 安卓端所有文件可读写
android·unity·游戏引擎
User_芊芊君子12 分钟前
【LeetCode原地复写零】:双指针+逆向填充,O(n)时间O(1)空间最优解!
android·linux·leetcode
2501_944448002 小时前
Flutter for OpenHarmony衣橱管家App实战:支持我们功能实现
android·javascript·flutter
2601_9498333911 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
2603_9494621014 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
王泰虎16 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
mit6.82418 小时前
[solution] 关闭硬件加速解决导出视频绿屏
音视频
2601_9495430119 小时前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter
2601_9498333920 小时前
flutter_for_openharmony口腔护理app实战+知识实现
android·javascript·flutter
晚霞的不甘20 小时前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙