腾讯云服务器检测不到系统麦克风,如何在iOS 7中检测麦克风输入权限被拒绝

Ben Clayton..

51

如果您仍在使用iOS SDK 6.0进行编译(就像我一样),您必须比@Luis E. Prado更加间接,因为requestRecordPermission方法不存在.

这就是我做到的.如果您使用ARC,请删除自动释放位.在iOS6上没有任何反应,在iOS7上会记录"麦克风已启用"消息或弹出警报.

AVAudioSession *session = [AVAudioSession sharedInstance];

if ([session respondsToSelector:@selector(requestRecordPermission:)]) {

[session performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {

if (granted) {

// Microphone enabled code

NSLog(@"Microphone is enabled..");

}

else {

// Microphone disabled code

NSLog(@"Microphone is disabled..");

// We're in a background thread here, so jump to main thread to do UI work.

dispatch_async(dispatch_get_main_queue(), ^{

[[[[UIAlertView alloc] initWithTitle:@"Microphone Access Denied"

message:@"This app requires access to your device's Microphone.\n\nPlease enable Microphone access for this app in Settings / Privacy / Microphone"

delegate:nil

cancelButtonTitle:@"Dismiss"

otherButtonTitles:nil] autorelease] show];

});

}

}];

}

编辑:事实证明,withObject块是在后台线程中执行的,所以不要在那里做任何UI工作,否则你的应用程序可能会挂起.我已经调整了上面的代码.一位客户指出了这一点,感谢测试版.为这个错误道歉.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值