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

setSpeakerphoneOn()在2.1上不工作,在2.3上工作

单于俊智
2023-03-14

我需要通过耳机播放一些音频。我使用AudioTrack在设备上播放一些声音。并且音频模式被设置为流_语音_呼叫。此外,在我的活动中,免提电话是通过以下方式关闭的:

AudioManager am;            
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setSpeakerphoneOn(false);

这似乎在2.3设备上运行得很完美。但在2.1上,声音仍然从扬声器播放。

为了解决这个问题,我尝试将setMode()用作:

am.setMode(AudioManager.MODE_IN_CALL);

有了这个,2.1和2.3的声音就可以通过耳机播放了,但2.3的大多数时候根本不会播放。此外,我在一些地方读到setMode()不应该被应用程序使用,因为它会影响系统范围内的电话状态。这里:http://code.google.com/p/sipdroid/issues/detail?id=270

有什么帮助吗?

共有1个答案

公羊奇
2023-03-14

低于2.3,Android在setSpeakerPhoneOn()方面有点问题。根据这个答案,我认为您需要使用这两种API方法。

对于根本不播放2.3音频的情况,请检查您的通话音量设置(将使用该设置)。尝试在使用<code>setMode()</code>之前跟踪手机的状态,如果不再使用音频管理器,可能会将其设置回<code>MODE_NORMAL</code>。

 类似资料:
  • 我有一段非常简单的Java代码,在那里我尝试从Java连接到我的Oracle DB。 在Windows下一切正常,但当我尝试在Ubuntu上运行时,我得到了一个错误。 我读了很多书,也试过很多解决方法。这是我的代码: 当我运行它时,我收到一个错误: 连接失败Java.sql.sqlRecoverable异常:IO错误:网络适配器无法在oracle.jdbc.driver.T4CConnection

  • 我遵照这些指示: Windows全局安装PHAR的过程与在Windows上手动安装Composer的过程相同: 为PHP二进制文件创建目录;例如,C:\bin 追加;C:\bin到您的PATH环境变量(相关帮助) 下载https://phar.phpunit.de/phpunit-6.2.phar 并将文件另存为C:\bin\phpunit。法尔 打开命令行(例如,按Windows R»键入cmd

  • 我有以下struktur来实现一个LongClickListener。如果我点击webview上包含HTML链接的文本,它就会起作用,所以我知道结构并不完全错误。 我现在删除了这个链接,监听器不再听点击了。有没有人知道这个问题并有一些建议? ...

  • 这是怎么工作https://graph.microsoft.com/v1.0/me/onenote/notebooks?filter=tolower(名)eq'我的笔记本' 来自图形资源管理器的屏幕截图 当我尝试在C#中编写相同的代码时,我得到了以下错误代码:BadRequest消息:无效筛选子句内部错误:AdditionalData:日期:2020-09-02T20:01:24 我正在使用下面的

  • Peer.JS server.js github链接到项目:链接 新来的赫罗库。任何帮助都将不胜感激!

  • 你好,我有一个我开发的dll。我在使用dll导入的网站中使用此dll。当我通过visual studio运行网站时,一切都正常。但当我用iis运行它时,它没有错误。请参阅所附代码。谢谢在这里输入图像描述