我目前正在编写一个需要记录和实时处理音频数据的应用程序。为此,我正在使用AudioRecord类。这一切都很好,除了在我的主要测试设备galaxynexus上录制音频的默认设置是从后置扬声器录制。我假设大多数手机的默认录音源都是背面或底部麦克风,因为当您使用手机通话时,您的嘴巴靠近底部。但是,我的应用程序要求我从手机正面的扬声器录音,所以我希望有人能帮助我如何以编程方式更改AudioRecord输入源。我已经广泛搜索了这个问题的答案。我考虑过的一些事情是:使用AudioManager类,开启免提电话,如:AudioManageram=(AudioManager)getSystemSer
我在使用GalaxyS5时遇到了一个奇怪的设备特定问题。我正在使用SIP(Linphone)从GalaxyS5调用另一台设备,当我启用扬声器时,该设备开始使用其主麦克风作为降噪麦克风,并将其辅助麦克风用作主麦克风。结果是我必须对着设备背面说话,因为当我对着主麦克风说话时用户根本听不到我说话。AudioManagermanager=(AudioManager)getSystemService(AUDIO_SERVICE);manager.setSpeakerphoneOn(true);我已使用此代码启用扬声器。我还尝试启用各种模式:manager.setMode(AudioManager
是否可以通过Android设备的手机扬声器播放音频?手机内较小的扬声器,可产生低音量声音,只有将耳朵贴近手机时才能听到。希望我的描述足够清楚,能够理解我的问题。如果可能的话,一个关于如何完成这个的例子会很有帮助。编辑目前我正在使用以下代码来初始化我的MediaPlayer。mediaPlayer=newMediaPlayer();mediaPlayer.setOnBufferingUpdateListener(this);mediaPlayer.setOnCompletionListener(this);mediaPlayer.setAudioStreamType(AudioManag
我正在尝试使用android.net.rtp库制作VoIP应用程序。它的音频流可以正确发送和接收。我的问题是:被叫电话的扬声器工作正常,但耳机一直静音(即使我关闭扬声器)。我的代码:AudioManagerAudio=(AudioManager)getSystemService(Context.AUDIO_SERVICE);Audio.setMode(AudioManager.MODE_IN_COMMUNICATION);Audio.setSpeakerphoneOn(true);Audio.setMicrophoneMute(false);sender=newRtpStreamSen
我正在使用OpenSLES播放音频剪辑。在我的代码中我有audioManager.setMode(AudioManager.MODE_IN_CALL);audioManager.setSpeakerphoneOn(true);插入耳机时强制通过扬声器播放音频。它工作正常,但我无法控制音量。在播放剪辑时按音量按钮会使音量搜索栏出现并移动,但音量不会改变。在播放之前调用setVolumeControlStream(AudioManager.STREAM_VOICE_CALL)或setVolumeControlStream(AudioManager.STREAM_MUSIC)似乎没有帮助。在
此问题之前已在此站点上被问过和回答过两次,但该代码似乎根本不适用于现代手机。我正在使用Android4.2和Android4.3,但似乎都不起作用。我在通话期间通过媒体播放器播放MP3,它工作正常,但歌曲和通话都是通过语音扬声器发出的。如果我按下“扬声器”,它们都会继续通过扬声器播放。我需要那种效果,但不必自己按下AudioManageraudioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);audioManager.setMode(AudioManager.MODE_IN_CALL);audioManage
这是我原来有效的查询Select*FROMstoryst,sentencess,speakerspWHERE(st.lesson_id='1'ANDst.speaker_id=sp.speaker_idANDst.sentence_id=s.sentence_id)当我尝试添加一个OrderBy时它崩溃了。Select*FROMstoryst,sentencess,speakerspWHERE(st.lesson_id='1'ANDst.speaker_id=sp.speaker_idANDst.sentence_id=s.sentence_id)ORDERBYst.story_in_
我有一个音频播放器,当接近传感器通知1时,它可以选择将音频输出从扬声器切换到接收器/听筒(无论是否连接耳机)。以下是我这样做的代码。-(void)switchAudioOutput:(NSString*)output{AVAudioSession*audioSession=[AVAudioSessionsharedInstance];BOOLsuccess;NSError*error;if([outputisEqualToString:keAudioOutputReciever]){//Forcecurrentaudiooutthroughreciever//settheaudioSe
我们希望从耳机插孔发送一些串行数据,但仍希望能够从扬声器播放音频。是否可以将输出发送到两者?如果是这样,是否可以向每个发送不同的音频? 最佳答案 据我所知,没有。您可以获得有关路由何时更改(即有人连接耳机线)的编程通知,但您无法指定用于输出的设备。 关于iOS:是否可以同时从耳机和扬声器发送音频?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10215923/
在iOS10中有更多的可能性来管理AUdioSession,但是我无法在音频通过iphone扬声器输出时保持耳机麦克风作为输入。下面的'overrideOutputAudioPort'方法也将输入音频端口覆盖为iphone麦克风letsession=AVAudioSession.sharedInstance()do{trysession.setCategory(AVAudioSessionCategoryPlayAndRecord)try!session.overrideOutputAudioPort(.speaker)}catch{}有什么解决方案可以让耳机一直作为输入吗?