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

选择最后连接的音频源android

终安和
2023-03-14

如何自动连接到Android中最后连接的音频源?

我们正在构建一个视频门铃应用程序,而不是让用户选择音频输出,我们的UI/UX团队要求我们硬编码选择最后选择的音频源。

例如:如果连接了蓝牙,我必须将其作为音频源,如果连接了耳机,我必须将其作为最后一个源如果蓝牙和耳机都连接了,我需要找到最后一个连接的源并将其作为音频输出,如果没有连接的源,则应将扬声器作为默认值,而不是耳机。

谢谢

共有1个答案

谢俊英
2023-03-14

尝试以下操作:

public int getAudioOutputDevice() {
    AudioManager audiMgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    if (audiMgr.getRouting(AudioManager.MODE_NORMAL) == AudioManager.ROUTE_EARPIECE) {
        //save to preferences
        return 1;
    }
    else if (audiMgr.getRouting(AudioManager.MODE_NORMAL) == AudioManager.ROUTE_SPEAKER) {
        //save to preferences
        return 2;
    }
    else {
        return -1;
    }
}

注意:“getRouting”在API级别4中已弃用。改用isSpeakerphoneOn()、isBluetoothScoOn()、isBluetoothA2dpOn()和isWiredHeadsetOn()方法

 类似资料:
  • 我正在寻找一个解决方案在FFmpeg合并音频(mp3)与短视频循环,或GIF。 我已经能够通过加入音频从图像生成视频,但视频在音频持续时间内保持静态帧,命令如下: 我需要的视频,有音频的持续时间,但使用另一个mp4或GIF循环。在音频持续时间内保持重复。

  • 35 音频源 下面介绍当前可用的音频源 abuffer 缓冲音频帧,作为滤镜链图中有效的组成(起点) 它主要编程使用,特别是通过libavfilter/asrc_abuffer.h中的接口进行调用。 接受如下参数: time_base 用于提交帧的时间戳时基。是浮点数或者分数形式。 sample_rate 进入音频缓冲的采样率。 sample_fmt 进入音频缓冲的采样格式。libavutil/s

  • 我想知道是否有可能知道任何成员连接到discord中的特定语音频道。jsv12。2.0. 最近几天我一直在问这个问题。如果你有什么线索,请告诉我。

  • 当我使用ffmpeg录制音频和视频时,音频录制会在视频的最后两秒钟内中断。 我试过使用不同的音频和视频编解码器,以及不同的视频格式和我,已经注意到mpg格式而不是mp4的音频工作更好。 我也试过在mp4上使用不同的编解码器,并查看了维基百科的兼容性,但它们似乎并不重要。

  • 问题内容: 假设我有一个客户表和一个采购表。每次购买都属于一个客户。我想在一份SELECT声明中列出所有客户以及他们最近一次购买的清单。最佳做法是什么?关于建立索引有什么建议吗? 请在您的答案中使用这些表/列的名称: customer: purchase: 并且在更复杂的情况下,通过将最后一次购买放入客户表中来对数据库进行非规范化(在性能方面)是否有益? 如果id保证按日期将(购买)排序,可以使用

  • The Audio Source plays back an Audio Clip in the scene. If the Audio Clip is a 3D clip, the source is played back at a given position and will attenuate over distance. The audio can be spread out betw