手机语音碰手机苹果7顶部扬声器就黑屏显示扬声器模式是什么意思

oppor7plus为什么在放语音时手放在手机顶部就会黑屏一会自动切换扬声器模式了_百度知道新买的苹果5S 今天不小心设置成盲人语音模式 现在机子是黑屏语音 请问如何取消恢复手机正常使用??_百度知道扫描下载MIUI论坛APP
经验669 米
在线时间28 小时
版本V6.3.2.0.KHJCNBL
积分 733, 距离下一级还需 1267 积分
积分 733, 距离下一级还需 1267 积分
机型红米手机2 联通版/电信版
签到次数45
MIUI版本V6.3.2.0.KHJCNBL
我的微信是5.0版本,和朋友语音时,明明显示的是听筒模式,可是播放语音时却是扬声器模式,搞得大庭广众之下放喇叭似的。请问这是微信自身的bug,还是miui的bug?
遇到的人越多,MIUI开发组会越关注
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验1159 米
在线时间53 小时
版本4.12.5
积分 1297, 距离下一级还需 703 积分
积分 1297, 距离下一级还需 703 积分
机型小米手机1/1S
签到次数95
MIUI版本4.12.5
通过手机发布
v5的问题,一直没解决,刷回v4没问题。估计v5不会修复的了。
经验669 米
在线时间28 小时
版本V6.3.2.0.KHJCNBL
积分 733, 距离下一级还需 1267 积分
积分 733, 距离下一级还需 1267 积分
机型红米手机2 联通版/电信版
签到次数45
MIUI版本V6.3.2.0.KHJCNBL
那MIUI开发组也太不专业了吧?既然这样的问题在V4中没有,为什么V5中不能修复?程序是死的,既然逻辑上都能走通,不可能存在技术瓶颈,或者说解决不了的啊?强烈要求修复这样的BUG,明显属于硬伤!
经验3473 米
在线时间833 小时
版本JMACNBL18.0
积分 4801, 距离下一级还需 199 积分
积分 4801, 距离下一级还需 199 积分
机型小米手机1/1S
签到次数108
MIUI版本JMACNBL18.0
别发BUG了,反正这里没人处理了,现在小米重心在M3上
经验669 米
在线时间28 小时
版本V6.3.2.0.KHJCNBL
积分 733, 距离下一级还需 1267 积分
积分 733, 距离下一级还需 1267 积分
机型红米手机2 联通版/电信版
签到次数45
MIUI版本V6.3.2.0.KHJCNBL
甭管是米几,只要你的OS有BUG都得处理啊,硬件是死的,软件才是活的啊。
经验1159 米
在线时间53 小时
版本4.12.5
积分 1297, 距离下一级还需 703 积分
积分 1297, 距离下一级还需 703 积分
机型小米手机1/1S
签到次数95
MIUI版本4.12.5
楼主,你的坚持是好,但小米重点已经放在新产品上了。旧的,只能让你玩玩。试一试。但修复的话。估计不可能了。
经验665 米
在线时间27 小时
版本4.1.24
积分 742, 距离下一级还需 1258 积分
积分 742, 距离下一级还需 1258 积分
机型小米手机1/1S
签到次数35
MIUI版本4.1.24
是啊,表示很忧伤啊,点了听筒一靠近耳朵直接扬声器,,,这真心英雄很大啊
经验669 米
在线时间28 小时
版本V6.3.2.0.KHJCNBL
积分 733, 距离下一级还需 1267 积分
积分 733, 距离下一级还需 1267 积分
机型红米手机2 联通版/电信版
签到次数45
MIUI版本V6.3.2.0.KHJCNBL
如果说这样的bug都不算高等级bug,那我很想了解小米的bug分级规则
在线时间4 小时
版本3.12.20
积分 108, 距离下一级还需 92 积分
积分 108, 距离下一级还需 92 积分
机型小米手机1/1S
MIUI版本3.12.20
开发组就是开发BUG的····表示放弃V5!!!
经验1256 米
在线时间40 小时
版本4.12.5
积分 1413, 距离下一级还需 587 积分
积分 1413, 距离下一级还需 587 积分
机型小米手机1/1S
签到次数52
MIUI版本4.12.5
刷了V5后米聊啪啪QQ微信的听筒模式不能用了& &现在刷回V4也不能用了& &&&都不知道该怎么办了
MIUI 3000万
MIUI 3000万发烧友纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号手机微信听语音时老是显示已切换扬声器播放模式_百度知道23026人阅读
IPhone开发中级系列(85)
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];&//建议在播放之前设置yes,播放结束设置NO,这个功能是开启红外感应
//添加监听
[[NSNotificationCenter defaultCenter] addObserver:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&selector:@selector(sensorStateChange:)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&name:@&UIDeviceProximityStateDidChangeNotification&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&object:nil];
//处理监听触发事件
-(void)sensorStateChange:(NSNotificationCenter&*)
&&&&//如果此时手机靠近面部放在耳朵旁,那么声音将通过听筒输出,并将屏幕变暗(省电啊)
&&&&if&([[UIDevice&currentDevice]&proximityState]
&&&&&&&&NSLog(@&Device
is close to user&);
&&&&&&&&[[AVAudioSession&sharedInstance]&setCategory:AVAudioSessionCategoryPlayAndRecord&error:nil];
&&&&&&&&NSLog(@&Device
is not close to user&);
&&&&&&&&[[AVAudioSession&sharedInstance]&setCategory:AVAudioSessionCategoryPlayback&error:nil];
//初始化播放器的时候如下设置
UInt32&sessionCategory =&kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
&&&&&&&&&&&&&&&&&&&&&&&&sizeof(sessionCategory),
&&&&&&&&&&&&&&&&&&&&&&&&&sessionCategory);
UInt32&audioRouteOverride
=&kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,
&&&&&&&&&&&&&&&&&&&&&&&&&sizeof&(audioRouteOverride),
&&&&&&&&&&&&&&&&&&&&&&&&&&audioRouteOverride);
AVAudioSession&*audioSession = [AVAudioSession&sharedInstance];
//默认情况下扬声器播放
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive:YES&error:nil];
--------------------看什么看,这是分割线。再看把你也割了--------------------------------
这里是新的补充,因为上面的做法在实际应用中可能会有一些问题,以前只是看了一下,没有应用到实际的项目中。
在 iOS 中,并非所有 iOS 设备都拥有近距离传感器。这里介绍如何调用 iPhone 的距离传感器。
使用近距离传感器
&中有两个近距离传感器的属性:proximityMonitoringEnabled 和 proximityState。这两个属性都是 iOS 3.0 及以上才支持的。
proximityMonitoringEnabled 属性
To determine if proximity monitoring is available, attempt to enable it. If the value of the proximityState property remains NO, proximity monitoring is not available.
要确定近距离传感器是否可用,可以尝试启用它,即 proximityMonitoringEnabled = YES,如果设置的属性值仍然为NO,说明传感器不可用。
proximityState 属性
传感器已启动前提条件下,如果用户接近 近距离传感器,此时属性值为YES,并且屏幕已关闭(非休眠)。And vice versa。
Notification
UIDeviceProximityStateDidChangeNotification,当近距离传感器状态改变时发生。
&&&&//添加近距离事件监听,添加前先设置为YES,如果设置完后还是NO的读话,说明当前设备没有近距离传感器
&&&&[[UIDevice&currentDevice]&setProximityMonitoringEnabled:YES];
&&&&if&([UIDevice&currentDevice].proximityMonitoringEnabled&==&YES)
&&&&&&&&[[NSNotificationCenter&defaultCenter]&addObserver:self&selector:@selector(sensorStateChange:)name:UIDeviceProximityStateDidChangeNotification&object:nil];
//删除近距离事件监听
&&&&[[UIDevice&currentDevice]&setProximityMonitoringEnabled:YES];
&&&&if&([UIDevice&currentDevice].proximityMonitoringEnabled&==&YES)
&&&&&&&&[[NSNotificationCenter&defaultCenter]&removeObserver:self&name:UIDeviceProximityStateDidChangeNotification&object:nil];
&&&&[[UIDevice&currentDevice]&setProximityMonitoringEnabled:NO];
#pragma mark -&处理近距离监听触发事件
-(void)sensorStateChange:(NSNotificationCenter&*)
&&&&//如果此时手机靠近面部放在耳朵旁,那么声音将通过听筒输出,并将屏幕变暗(省电啊)
&&&&if&([[UIDevice&currentDevice]&proximityState]
==&YES)//黑屏
&&&&&&&&NSLog(@&Device
is close to user&);
&&&&&&&&[[AVAudioSession&sharedInstance]&setCategory:AVAudioSessionCategoryPlayAndRecord&error:nil];
&&&&else//没黑屏幕
&&&&&&&&NSLog(@&Device
is not close to user&);
&&&&&&&&[[AVAudioSession&sharedInstance]&setCategory:AVAudioSessionCategoryPlayback&error:nil];
&&&&&&&&if&(![MTool&isPlayRecodering])
{//没有播放了,也没有在黑屏状态下,就可以把距离传感器关了
&&&&&&&&&&&&[[UIDevice&currentDevice]&setProximityMonitoringEnabled:NO];
注意事项(也就是我说的问题)
&&&&对于不希望启动接近传感器功能的应用,如果需要进行扬声器和听筒进行切换过程中,则必须通过启用接近传感器来进行声音输出模式的切换,在此时,必须要注意,如果当声音通过听筒进行播放完毕时,在播放完毕时,此时仍在听筒模式输出,如果此时关闭传感器功能,则导致在离开听筒时,由于传感器功能已经关闭,应用无法再次收到注册的传感器变更通知,而此时如果未能将底层的声音输出模式切换,则导致相关的声音输出仍从听筒中输出,即使引起传感器反映的障碍已经离开传感器作用范围,但应用中获取的传感器状态仍未接近状态,使根据传感器状态进行切换声音输出模式操作失效。&
&&&&特殊情况:
在iPhone 4s及iPhone5中,在接近传感器功能关闭后,如果此时传感器状态为YES,则在再次启动声音传感器时,不会收到传感器的变更通知;
在iPhone 4中,在接近传感器功能关闭后,如果此时传感器状态为YES,则在再次启动声音传感器时,会先收到一次传感器的变更通知;
&&&此问题的解决方案:当在传感器功能开始时,如果此时传感器传感状态为YES时,此时声音播放结束,仍未出发传感器状态变更时,此时不关闭传感器功能。当引起传感器反映的障碍已经离开传感器作用范围,此时会收到传感器变更通知,在变更通知中检测当前传感器状态是否为开启状态及声音播放状态,如果在传感器状态为YES时,而此时需要开启传感器功能的操作(如声音播放功能)已经结束时,则将传感器功能关闭即可;
-------也就是说,在不是黑屏的状态下,关闭近传感器功能。就没什么问题了。
手动切换两种模式
解决方案:添加长按手势,切换为另一种模式。
代码片段:
UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer
initWithTarget:self
action:@selector(longPressed:)];
& & [longPressGestureRecognizer
setMinimumPressDuration:1.0f];
& & [longPressGestureRecognizer
setAllowableMovement:50.0];
& & [self.bubbleBgImageView
addGestureRecognizer:longPressGestureRecognizer];
& & [longPressGestureRecognizer
---------
-(void)longPressed:(UILongPressGestureRecognizer *) gestureRecognizer
switch (gestureRecognizer.state)
& & & & case
UIGestureRecognizerStateEnded:
&& & & & & &
& & & & & &
& & & & case
UIGestureRecognizerStateCancelled:
&& & & & & &
& & & & & &
& & & & case
UIGestureRecognizerStateFailed:
&& & & & & &
& & & & & &
& & & & case
UIGestureRecognizerStateBegan:
& & & & & &
if ([self.voiceDelegate
respondsToSelector:@selector(BaseChartVoiceLongPressed)])
& & & & & & {
& & & & & & & & [self.voiceDelegate
BaseChartVoiceLongPressed];
& & & & & & }
& & & & & &
& & & & case
UIGestureRecognizerStateChanged:
&& & & & & &
& & & & & &
& & & & & &
-------------
#pragma mark BaseChartCellDelegate
-(void)BaseChartVoiceLongPressed
& & NSLog(@&voice long Pressed&);
& & if ([[[AVAudioSession
sharedInstance]
isEqualToString:AVAudioSessionCategoryPlayback])
& & & & //切换为听筒播放
& & & & [[AVAudioSession
sharedInstance]
setCategory:AVAudioSessionCategoryPlayAndRecord
error:nil];
& & & & [self
showTipInfo:@&切换为听筒模式&];
& & & & //切换为扬声器播放
& & & & [[AVAudioSession
sharedInstance]
setCategory:AVAudioSessionCategoryPlayback
error:nil];
& & & & [self
showTipInfo:@&切换为扬声器模式&];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1164073次
积分:12364
积分:12364
排名:第767名
原创:186篇
转载:101篇
评论:256条
(2)(2)(6)(2)(3)(4)(2)(2)(1)(5)(12)(5)(4)(2)(3)(8)(12)(7)(23)(3)(8)(7)(21)(6)(10)(40)(19)(3)(12)(17)(1)(1)(13)(4)(10)(2)(6)(1)(1)

我要回帖

更多关于 微信语音扬声器 的文章

 

随机推荐