zoukankan      html  css  js  c++  java
  • 音频视频声音在三方应用的处理

    public class SimpleAudioFocusHelper {
    private AudioManager mAudioManager;
    private AudioManager.OnAudioFocusChangeListener mAudioFocusChangeListener = focusChange -> {

    };

    public SimpleAudioFocusHelper() {
    mAudioManager =
    (AudioManager) KwaiApp.getAppContext().getSystemService(Context.AUDIO_SERVICE);
    }

    public boolean requestAudioFocus() {
    if (mAudioFocusChangeListener == null || mAudioManager == null) {
    return false;
    }

    final int granted = AudioManager.AUDIOFOCUS_REQUEST_GRANTED;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    return granted == mAudioManager.requestAudioFocus(buildFocusRequest());
    } else {
    return granted == mAudioManager.requestAudioFocus(mAudioFocusChangeListener,
    AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
    }

    }

    public boolean abandonFocus() {
    if (mAudioFocusChangeListener == null || mAudioManager == null) {
    return false;
    }

    final int granted = AudioManager.AUDIOFOCUS_REQUEST_GRANTED;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    return granted == mAudioManager.abandonAudioFocusRequest(buildFocusRequest());
    } else {
    return granted == mAudioManager.abandonAudioFocus(mAudioFocusChangeListener);
    }
    }

    @TargetApi(Build.VERSION_CODES.O)
    private AudioFocusRequest buildFocusRequest() {
    AudioAttributes attributes = new AudioAttributes.Builder()
    .setLegacyStreamType(AudioManager.STREAM_MUSIC)
    .setUsage(AudioAttributes.USAGE_MEDIA)
    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
    .build();
    return new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT)
    .setAudioAttributes(attributes)
    .setAcceptsDelayedFocusGain(false)
    .setOnAudioFocusChangeListener(mAudioFocusChangeListener)
    .build();
    }
    }
  • 相关阅读:
    Java正则表达式入门
    sql join
    java collection
    JAVA中this用法小结
    SQL Server 触发器
    SQL 存储过程
    123456 所有组合 递归
    sublime plugin & add number to mulitple line .
    重做树莓派系统盘
    制作树莓派系统盘
  • 原文地址:https://www.cnblogs.com/liunx1109/p/12167761.html
Copyright © 2011-2022 走看看