有没有其他人在SamsungGalaxyS上遇到过这种情况?当我使用以下方法打开扬声器时,它工作正常:audioManager.setSpeakerphoneOn(true);但是当我尝试相反的方法将其关闭时:audioManager.setSpeakerphoneOn(false);扬声器保持打开状态,通过它而不是设备上的听筒播放音频。以上适用于NexusOne和HTCHero,前几天刚拿到三星Galaxy但它不起作用,有没有其他人遇到过这个问题,也许知道它为什么会发生以及是否有解决方法? 最佳答案 为了让它正常工作,我必须执行以
我目前正在编写一个需要记录和实时处理音频数据的应用程序。为此,我正在使用AudioRecord类。这一切都很好,除了在我的主要测试设备galaxynexus上录制音频的默认设置是从后置扬声器录制。我假设大多数手机的默认录音源都是背面或底部麦克风,因为当您使用手机通话时,您的嘴巴靠近底部。但是,我的应用程序要求我从手机正面的扬声器录音,所以我希望有人能帮助我如何以编程方式更改AudioRecord输入源。我已经广泛搜索了这个问题的答案。我考虑过的一些事情是:使用AudioManager类,开启免提电话,如:AudioManageram=(AudioManager)getSystemSer
我的要求是在拨出电话时打开扬声器。我尝试了以下代码,但它不起作用。事实上,当通话进行到第二个来电时,扬声器会打开!packagein.co.allsolutions;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.os.Bundle;importandroid.telephony.TelephonyManager;importandroid.util.Log;//importandroid.view.View;
我正在尝试通过在两者之间切换按钮来播放扬声器和听筒的音频。问题是我试图将音频默认为从耳机播放,但没有任何结果。然后,当我按下按钮切换到扬声器时,仍然没有播放音频。我正在从本地原始文件播放。我在list中也有android.permission.MODIFY_AUDIO_SETTINGS。这是我的代码:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);context=getActivity().getBaseContext();am=(AudioManager)
我在BroadcastReceiver(电话状态监听器)中使用以下代码来启用扬声器:finalHandlermHandler=newHandler();mHandler.postDelayed(newRunnable(){@Overridepublicvoidrun(){AudioManageraudioManager=(AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);audioManager.setMode(AudioManager.MODE_IN_CALL);audioManager.setSpeakerp
我已经能够将我的音频路由到免提电话,但它仍然无法以可能的最大音量播放。我试过[audioAlertsetVolume:1.0],它仍然保持在用户当前设置的音量。如果有人知道我做错了什么,我将不胜感激。这是我的代码:AVAudioSession*audioSession=[AVAudioSessionsharedInstance];[audioSessionsetCategory:AVAudioSessionCategoryPlayAndRecorderror:NULL];UInt32audioRouteOverride=kAudioSessionOverrideAudioRoute_S