Articles of android audiomanager

通过耳机播放音乐时播放扬声器的声音

我通过耳机播放AudioTrack 。 我只需要将SoundPool发送到内置扬声器,而不会中断通过耳机播放的AudioTrack 。 任何黑客歹徒?

AudioManager.isWiredHeadsetOn()在android中不起作用

我想检查是否插入了heaset ……我是这样做的 AudioManager am = (AudioManager)getSystemService(AUDIO_SERVICE); Log.i(“am.isWiredHeadsetOn()”, am.isWiredHeadsetOn()+””); 但我总是得到虚假的价值…… 为什么会这样?

android – 重写的音量按钮是否影响了后退按钮?

使用下面的代码我已停止使用音量按钮,除非我正在播放音频(否则它会令人烦恼地改变铃声音量),但“后退”按钮不起作用。 按“后退”应该到我的手机桌面(或退出我的应用程序,就像你期望的那样),但它没有做任何事情。 如果我打开菜单,“返回”将关闭菜单,但我不能离开应用程序。 我已将代码复制到我的应用程序中的其他活动,如果我在我的应用程序中打开另一个活动,因为“后退”按钮不起作用,我无法返回主屏幕:) @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //Suppress the use of the volume keys unless we are currently listening to the stream if(keyCode==KeyEvent.KEYCODE_VOLUME_UP) { if(StreamService.INT_PLAY_STATE==0){ return true; }else{ return false; } } if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN) { if(StreamService.INT_PLAY_STATE==0){ return true; }else{ return false; } } return false; 为什么会这样?

Android耳机Jack Listener

有谁知道如何检测设备上的耳机插孔是否在Android上拔掉? 我有一个音乐播放器,我需要在拔下耳机时暂停音乐。 我发现最接近的是使用AudioManager 。 这是正确的方向吗?

Android:从设备隐藏音量更改栏?

有没有办法隐藏音量变化栏/通知(但你可以称之为..btw。你怎么称呼它?)? 我附上了截图。 每次更改音量时都会显示此栏(至少在我的nexus测试设备上)。 或者这是一个特殊的关系吗?

如何设置文本到语音“说话”方法的音量?

我迷路了。 我希望能够调整说话音量。 无论我做什么,我都无法增加音量。 如何使其像在Android设置中一样响亮(如下所示)? 系统设置 – >语音输入和输出 – >文字转语音设置 – >收听示例 我这时的代码是: AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mAudioManager.setSpeakerphoneOn(true); int loudmax = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION); mAudioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION,loudmax, AudioManager.FLAG_PLAY_SOUND); mTts.speak(name,TextToSpeech.QUEUE_FLUSH, null);

setStreamMute永远不会取消静音

在文档中,有人说: 静音命令受到保护以防止客户端进程死亡:如果流上有活动静音请求的进程终止,则此流将自动取消静音。 对给定流的静音请求是累积的:AudioManager可以从一个或多个客户端接收几个静音请求,并且只有在收到相同数量的取消静音请求时才会取消静音。 那么,第一段是真的; 每当我的进程终止时,我静音的所有流都会自动取消静音。 但是,无论我多少次调用setStreamMute(someStream, false)它都setStreamMute(someStream, false)静音。 上次我在静音后尝试调用它超过100万次而且没有发生! 只是要提一下 – 如果我用同样的方法取消静音,我将它静音 – 它保持不变。 但是在下一次调用相同的方法时 – 它永远不会取消静音。 我在广播接收器onReceive方法中静音,我开始使用报警管理器。 也许是因为我的应用程序在静音通话和取消静音通话之间被杀? (但我的应用程序仍然留在RAM中) 这个问题可能是因为我没有保留对AlarmManager的引用(每次都有不同的实例吗?) 有人遇到过这个问题吗?

如何检测耳机function

我知道如何检测是否插入了耳机,但有些耳机(例如三星EHS60ANNBE)只带有PAUSE / PLAY(又名KeyEvent.KEYCODE_HEADSETHOOK)按钮, 没有 PREV / NEXT …… 我希望能够检测当前插入Android设备的耳机是否具有PREV / NEXT(又名KeyEvent.KEYCODE_ MEDIA_PREVIOUS /KeyEvent.KEYCODE_ MEDIA_NEXT )。 这可能吗?

AudioManager在死线程上向处理程序发送消息?

我正在尝试以编程方式将卷提升到STREAM_MUSIC流的最大值,但是当我这样做时,我正在“向死线程上的处理程序发送消息”问题。 此外,它似乎没有100%的时间提高音量,虽然当我得到这个错误时,它会提高它的大部分时间。 代码是: System.out.println(“Maximum volume for this stream is: “+maxstreamvol+” and it used to be set to: “+currentvol); final AudioManager am = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); am.setStreamVolume(AudioManager.STREAM_MUSIC, maxstreamvol, AudioManager.FLAG_SHOW_UI); am.setStreamSolo(AudioManager.STREAM_MUSIC, true); System.out.println(“Volume Raised!”); 在谷歌搜索后,似乎这个错误与multithreading情况有关……此时的代码应该在UI线程上运行。 事实上,我甚至把它包围着: runOnUiThread(new Runnable() { public void run() { // code_goes_here } }); 而且,这产生了同样的错误。 我看到的错误是这样的: I/System.out(24949): Maximum volume for this stream is: 15 and it […]

检测耳机是否有麦克风

我需要检测插入的有线耳机是否有麦克风。 我可以使用isWiredHeadSetOn()检查是否插入了耳机,但是对于麦克风似乎不是AudioManager类中的这种方法。 我已经使用ACTION_HEADSET_PLUGfind了一些建议,但是我很想知道这个信息,即使在打开我的应用程序之前插入了耳机,这个事件也不会在我的应用程序生命周期内被触发。 关于这个问题的任何想法? 先谢谢你。