- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Activity 中执行以下代码来设置铃声模式和值:
void setRinger(int value) {
AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
manager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
manager.setStreamVolume(AudioManager.STREAM_RING, value, AudioManager.FLAG_PLAY_SOUND);
}
void setSilent() {
AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
manager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
manager.setStreamVolume(AudioManager.STREAM_RING, 0, AudioManager.FLAG_SHOW_UI);
}
void setVibrate() {
AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
manager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
manager.setStreamVolume(AudioManager.STREAM_RING, 0, AudioManager.FLAG_VIBRATE);
}
setRinger() 设置铃声值并播放声音作为确认。setSilent() 设置静音模式并显示“toast”作为确认。setVibrate() 设置振动模式,但手机不振 Action 为确认。
我使用的是 HTC Wildfire S (Android 2.3.5)。当我使用电话上的按钮更改铃声音量时,振动正常。
我做错了什么?任何空间特权?我尝试将 android.permission.VIBRATE 添加到 list 中 - 没有帮助。
经许可的 list :
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".DroidUtilityActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>
Logcat 输出(我切断了大部分日志)只是为了证明调用了代码:
D/dalvikvm(13742): GC_CONCURRENT freed 279K, 47% free 2992K/5639K, external 0K/0K, paused 5ms+9msD/dalvikvm(11205): GC_EXPLICIT freed 10K, 47% free 2862K/5379K, external 0K/0K, paused 153msD/AudioManager(13742): setStreamVolume(streamType:2, index:3, flags:4)V/test (13742): setringerD/InputManagerService( 131): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40900198D/VolumePanel( 131): prepare soundD/VolumePanel( 131): prepare sound/system/media/audio/ui/Volume-1.mp3D/VolumePanel( 131): prepare sound/system/media/audio/ui/Volume-2.mp3...E/AudioService( 131): [AudioHandler] syncSetIndex Call setStreamVolumeIndex isHeadsetPlugged(): trueD/StatusBarService( 219): updateIcon slot=volume index=15 viewIndex=9 old=StatusBarIcon(pkg=com.android.systemui id=0x7f0200c7 level=0 visible=false num=0 ) icon=StatusBarIcon(pkg=com.android.systemui id=0x7f0200c6 level=0 visible=true num=0 )D/AudioManager(13742): setStreamVolume(streamType:2, index:0, flags:1)V/test (13742): setsilentD/InputManagerService( 131): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40b235c8D/AudioService( 131): [AudioHandler] persistVolumeForHeadset Name: volume_system_headset, mIndex_Headset: 0, mLastAudibleIndex_Headset: 7, current: true, lastAudible: trueD/AudioService( 131): [AudioHandler] persistVolumeForHeadset Name: volume_ring_headset, mIndex_Headset: 0, mLastAudibleIndex_Headset: 4, current: true, lastAudible: trueD/AudioService( 131): [AudioHandler] persistVolumeForHeadset Name: volume_ring_headset, mIndex_Headset: 0, mLastAudibleIndex_Headset: 4, current: true, lastAudible: trueD/AudioService( 131): [AudioHandler] persistVolumeForHeadset Name: volume_system_headset, mIndex_Headset: 0, mLastAudibleIndex_Headset: 7, current: true, lastAudible: trueD/StatusBarService( 219): updateIcon slot=volume index=15 viewIndex=9 old=StatusBarIcon(pkg=com.android.systemui id=0x7f0200c6 level=0 visible=true num=0 ) icon=StatusBarIcon(pkg=com.android.systemui id=0x7f0200c7 level=0 visible=true num=0 )D/AudioManager(13742): setStreamVolume(streamType:2, index:0, flags:16)V/test (13742): setvibrateD/InputManagerService( 131): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40c2d508D/StatusBarPolicy( 219): onSignalStrengthsChangedD/StatusBarService( 219): updateIcon slot=phone_signal index=20 viewIndex=13 old=StatusBarIcon(pkg=com.android.systemui id=0x7f0200d0 level=0 visible=true num=0 ) icon=StatusBarIcon(pkg=com.android.systemui id=0x7f0200d0 level=0 visible=true num=0 )I/EventLogService( 273): Aggregate from 1326197648488 (log), 1326197648488 (data)D/LocationManager( 131): _handleMessage: TYPE_LOCATION_CHANGEDD/GpsLocationProvider( 131): [handleMessage] message :7D/GpsLocationProvider( 131): [handleMessage] UPDATE_LOCATIOND/GpsLocationProvider( 131): handleUpdateLocationD/LocationManager( 3422): _handleMessage: TYPE_LOCATION_CHANGEDD/LocationManager( 327): _handleMessage: TYPE_LOCATION_CHANGEDD/LocationManager( 6893): _handleMessage: TYPE_LOCATION_CHANGEDD/LocationManager( 327): _handleMessage: TYPE_LOCATION_CHANGED
最佳答案
我遇到了和你一样的问题(使用 HTC Desire HD)。在我的例子中,同时使用两个标志(AudioManager.FLAG_VIBRATE 和 AudioManager.FLAG_SHOW_UI)解决了问题——手机振动并出现振动对话框。但是,当我仅使用 AudioManager.FLAG_VIBRATE 标志时,手机不会振动。在我的代码下面:
AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
manager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
int currentStreamRing = manager.getStreamVolume(AudioManager.STREAM_RING);
manager.setStreamVolume(AudioManager.STREAM_RING,currentStreamRing,AudioManager.FLAG_VIBRATE+AudioManager.FLAG_SHOW_UI);
关于Android AudioManager.FLAG_VIBRATE 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801310/
每当我使用它时,它都会使我的应用程序崩溃。此外,对于振动模式,当我使用audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE)时,它会打
我正在尝试获取 ring 音量,但它总是给出 0,不管 我将其设置为多少音量(我通过“设置”访问它来做到这一点在电话里)。 audioManager.getstreamVolume(AudioMana
我正在制作一个说出来电者姓名的应用程序,该应用程序在使用 TextToSpeech 说出来电者姓名之前暂停铃声。我正在使用 检测当前的 Volume int musicVolume = audioMa
调用 AudioManager.setRingerMode 有什么区别?调用AudioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, ...
我正在尝试在通话时启用扬声器: final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AU
AudioManager中有几种流类型.他们在低水平上有何不同?难道是使用例如AudioManager.STREAM_MUSIC 阻止输入麦克风流?还是别的? 最佳答案 一个最显着的区别是音量控制。
我尝试在播放媒体时通过 setMode(mode_in_call) 更改音频模式。所以,我确定我添加了权限 我这样写代码:AudioManager mAudioManager = (AudioMana
我的 getVolume() 方法总是返回 1.0。我已将手机静音,更改了音量,但是当我调用我的方法时,我随时都会收到 1f。我错过了什么吗? btnPlay.setOnClickListener(n
在进行视频聊天的 WebRT 应用程序中,我想将手机设置为使用免提而不是耳机播放声音。 我尝试过使用AppRTCAudioManager(它包装了AudioManager)来设置静音和设置扬声器,直接
通过按后退按钮关闭我的 Activity 后,我面临内存泄漏: 由于我无法弄清楚它是什么,所以我将几乎整个代码注释为: protected void onCreate(Bundle savedInst
安卓AudioManager有方法public void setStreamVolume (int streamType, int index, int flags) . 我不想使用任何标志,因为它们
我在 Activity 中执行以下代码来设置铃声模式和值: void setRinger(int value) { AudioManager manager = (AudioManager)t
当文本到语音系统说出一个短语时,我试图让音频播放器静音。正如预期的那样,audiomanager 在请求音频焦点时降低音量,但在调用 abandonAudioFocus 时,音量不会恢复并且不会调用
我在第 219 行收到空指针异常:amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);。以前没有发生过,今天我第一次看到,我使
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); switch (am.getRingerMode())
当使用以下代码建立电话调用时,我通过附件设置扬声器: audioManager.setMode(AudioManager.MODE_IN_CALL); audioManager.setSpeakerp
在我的 Android 应用程序中,我有一个方法,可以让我调整音量。这就像它应该的那样工作。 public void adjustVolume(int adjustType){ if(myAu
在我正在开发的应用程序中,当前台服务发生更新时,我们必须通过蜂鸣声通知用户。 我们使用这个 foreground service用于录音。要播放哔哔声,我们使用扬声器。我们在播放 beep 之前启用电
我正在构建一个媒体播放器并以类似于文档的方式实现 onAudioFocusChange(): OnAudioFocusChangeListener afChangeListener = new OnA
我正在使用 AudioManager 在调用电话之前通过听筒播放声音,因此我使用 AudioManager setMode(MODE_IN_CALL)。 我没有遇到任何问题,除了在 Galaxy S3
我是一名优秀的程序员,十分优秀!