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

有没有办法强制Android录音机通过USB连接的音频类设备进行音频输入?

慎懿轩
2023-03-14

我有一个通过USB端口与Android连接的音频类设备(外部麦克风),我想记录来自USB外部麦克风的声音。

目前我正在使用AudioRecorder类,通过该类功能,我可以从外部麦克风录制音频。但它在下面列出的某些情况下失败。

  1. 当用户通过AUX端口连接任何有线耳机时,AudioRecorder将从AUX端口耳机开始录音
  2. 蓝牙耳机的情况也是如此

我无法禁用辅助端口

我已经尝试了以下解决方案

  1. AudioRecord(MediaRecorder.AudioSource.MIC,…更改音频源对我没有帮助。
  2. twilio/audioswitch库
  3. FriendFX/android音频切换库
  4. 通过Java反射API

共有1个答案

束阳旭
2023-03-14

是的,有。这需要一些工作,所以我只是提供了一个关于如何做的链接。

https://wiki . ST . com/STM 32 MPU/wiki/How _ to _ change _ audio _ device _ for _ Android

 类似资料:
  • AndroidLollipop现在支持USB音频开箱即用。但是,我希望能够控制到USB音频设备的音频路由。Android SDK中是否有任何方法允许这种程度的控制?我尝试使用setForceUse,但这在不同的设备上是不一致的,而且似乎只适用于未连接USB音频设备的情况(更不用说SetForceUser没有USB选项)。 例如,我希望我的应用程序能够在普通手机耳机插孔上播放,但通过切换按钮,可以将

  • 我们需要记录从有线或蓝牙耳机扬声器输出的设备音频。例如,如果用户在后台运行音乐应用程序时听了一些歌曲,我们想录制这首歌。是否可以使用AudioUnit实现输出录制?我们使用PalayAndRecords类别用于共享audio会话,带有AVAudioSessionClass oryOptionMixWith其他人选项。

  • 我目前正在使用Web音频API。我设法“读懂”了一个麦克风,并将它播放给我的扬声器,这非常无缝。 使用Web Audio API,我现在想重新取样传入的音频流(又名麦克风)从44.1kHz到16kHz。16kHz,因为我正在使用一些需要16kHz的工具。由于44.1kHz除以16kHz不是整数,我相信我不能简单地使用低通滤波器和“跳过样本”,对吗? 我还看到一些人建议使用,但由于它已被弃用,我觉得

  • 我在使用媒体​流式录制API,用于录制用户的麦克风。该代码在chrome windows上运行良好,但在android上,它只会在录制哔哔声后立即停止录制。 如何使API在android设备上工作 我是否遗漏了什么,或者这是Web音频API的错误? 代码如下: 然后我就用这些台词开始录音: 还有这个要停下来玩:

  • 录制完一个呼出的电话后,我试图播放录制的文件——以确保通话录音按预期工作(我使用“媒体播放器”进行),但没有声音。所以我试图访问手机上的实际文件(只需将手机连接到电脑上并访问它的文件)。当我播放录音时,它的长度是正确的,但同样没有声音。 我错过了什么? 这是我记录电话的方式: 这是结束通话记录的代码: 这是我播放音频文件的方式:

  • 我正在尝试用HLS格式录制rtsp流。我需要同时录制音频和视频。使用下面的命令,可以录制一些流的视频和音频,比如来自Internet rtsp://wowzaec2demo.streamlock.net/vod/mp4:bigbuckbunny_115k.mov的测试rtsp流。至于我的IP相机,它不工作,意味着视频被录制,但没有音频输出文件。 这是我的IP相机的命令行输出,同时开始录制上面的命令