获得AudioFocus和释放AudioFocus

2024-03-05 05:38
文章标签 获得 释放 audiofocus

本文主要是介绍获得AudioFocus和释放AudioFocus,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

获得AudioFocus
mAudioManager.requestAudioFocus(mAudioFocusListener,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN);
释放AudioFocus
mAudioManager.abandonAudioFocus(mAudioFocusListener);

private OnAudioFocusChangeListener mAudioFocusListener = new OnAudioFocusChangeListener() {
  public void onAudioFocusChange(int focusChange) {
   // AudioFocus is a new feature: focus updates are made verbose on
   // purpose
   Log.d(TAG, "mAudioFocusListener,onAudioFocusChange(" + focusChange +")");
   switch (focusChange) {
   case AudioManager.AUDIOFOCUS_LOSS:
   case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: {

    stopRecorderSaveSample();
    NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    nm.cancel(R.drawable.recordicon);
    mAudioManager.abandonAudioFocus(mAudioFocusListener);
   }
    break;

   case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
    break;
   default:
    // Log.e("soundrecorder", "Unknown audio focus change code");
   }
  }
 };

这篇关于获得AudioFocus和释放AudioFocus的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775469

相关文章

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

使用JS/Jquery获得父窗口的几个方法(笔记)

<pre name="code" class="javascript">取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);如题: $(selector, window.top.document);//获得顶级窗口里面的元素 $(

平板电脑能打电话吗?如何让不支持电话功能的平板获得电话功能?

很多选购平板电脑的朋友,都希望平板能够支持打电话功能。那么市面上所有的平板电脑能打电话吗?如果不能够打电话的平板电脑,有没有什么方法支持能够支持让其电话功能。下面我爱电脑网小编将对这个问题给大家座详细的解答   市面上的平板电脑大致共分为两种版本,一种叫做WiFi版平板电脑,另一种叫做3G版本的平板电脑。首先WiFi版的平板电脑主要通过无线路由器进行通信,有通信的距离限制。而3G版平板电

学习【C# Windows窗体】:获得进程的输出

前言 在之前的博客《创建能启动其他程序的Windows窗体》中,我启动了一个其他程序的进程。而进程的输出都显示在控制台窗口中。我在想,可否能读取这些输出,这样就可以配合一些界面显示了,例如约定一个表示进度的信息,来指导进度条的值,这虽然不怎么稳定,但是如果运行的程序也是由自己维护的,那这种方式我觉得没什么不妥。 查了一些资料之后,我发现读取进程的输出很简单(学习的过程中我参考了C#Process

读锁的获取与释放是怎么实现的?

在 ReentrantReadWriteLock 中,读锁的获取与释放是通过管理读锁计数和线程状态来实现的。以下是更详细的说明,涵盖了读锁的获取与释放过程: 1. 读锁的获取 读锁获取的核心是允许多个线程同时持有读锁,只要没有线程持有写锁。 获取读锁的步骤 检查写锁状态:在获取读锁前,首先需要检查是否有线程持有写锁。如果没有线程持有写锁,当前线程可以安全地获取读锁。 增加读锁计数:如果

成功之路:如何获得机器学习和数据科学实习机会

一年内获得两份实习机会的数据科学家的建议和技巧        欢迎来到雲闪世界。在当今竞争激烈的就业市场中,获得数据科学实习机会可以成为您在科技领域取得成功的门票。 但申请者如此之多,你该如何脱颖而出呢? 无论您是学生、应届毕业生还是想要转行到数据科学领域的人士,本文 都将指导您采取可行的策略来获得实习机会。 作为一个在一年内成功完成两次实习的人,我很高兴与大家分享对我有用的技巧。

Http请求和HttpServletRequest中获得对应参数

Enumeration<String> key = request.getParameterNames();  这个能获取到所有前端传过来的参数;其实这篇转来的文字可以深入理解下 servlet 的知识, Http请求 GET /firstSample/hello HTTP/1.1 请求行Host: localhost:8080 请求头Conne

Linux - Tcp连接建立和释放的三次握手四次挥手

一、TCP报文段首部格式         源端口/目的端口:各占2个字节,分别写入源端口和目的端口,端口是传输层与应用层的服务接口    序号:占4个字节,TCP连接中传送的数据流中每一个字节都有一个序号,序号字段指本报文段所发送的数据的第一个字节的序号    确认号:占4个字节,是期望收到对方下一个报文的第一个数据字节的序号    数据偏移:占4个字节,它指出TCP报文的数据距离TCP

android拍照获得图片及获得图片后并裁剪

使用android内置的相机拍照然后获取到这张照片 直接上代码: [java]  view plain copy print ? Intent intentFromCapture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);   Uri imageUri = Uri.fromFile(new File(Environ