我正在使用iOS库播放音频广告,我想在每次请求广告之前检查设备输出音量是否为零(静音或静音)。
我使用了以下codeAny来检查设备的输出音量
+(BOOL)isDeviceMuted
{
Float32 val = -1.0;
UInt32 propertySize = sizeof(val);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, &propertySize, &val);
NSLog(@"value of volume: %f",val);
if (val <= 0) {
return YES;
}
else {
return NO;
}
}
此代码到目前为止完美无缺,但是在iOS 7上不推荐使用AudioSessionGetProperty的问题,而我想用新的代码替换不被弃用的代码(最低iOS SDK为6)
我试过以下
val = [[AVAudioSession sharedInstance] outputVolume];
但是outputVolume的问题是它需要音频会话才能激活它以跟踪它的变化。
[[AVAudioSession sharedInstance] setActive: YES error: nil];
我们无法在库内执行此操作,因为它会影响用户应用程序(sharedInstance)
任何想法!!
答案 0 :(得分:0)
使用otherAudioPlaying属性来确定另一个应用是否正在播放音频
[[AVAudioSession sharedInstance] isOtherAudioPlaying]