Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 获取IOS5中的当前音量_Iphone_Ios_Cocoa Touch_Ios5 - Fatal编程技术网

Iphone 获取IOS5中的当前音量

Iphone 获取IOS5中的当前音量,iphone,ios,cocoa-touch,ios5,Iphone,Ios,Cocoa Touch,Ios5,我需要获取IOS5应用程序下的当前音量。该应用程序应该在电影院中使用,因此我想通知用户,他/她应该调低音量,除非已经调低了音量。试试这个 musicPlayer = [[MPMusicPlayerController iPodMusicPlayer]; currentVolume = musicPlayer.volume; 你可以得到这样的音量 -(Float32)audioVolume { Float32 state; UInt32 propertySize = sizeo

我需要获取IOS5应用程序下的当前音量。该应用程序应该在电影院中使用,因此我想通知用户,他/她应该调低音量,除非已经调低了音量。

试试这个

musicPlayer = [[MPMusicPlayerController iPodMusicPlayer];

currentVolume = musicPlayer.volume;

你可以得到这样的音量

-(Float32)audioVolume
{
    Float32 state;
    UInt32 propertySize = sizeof(CFStringRef);
    OSStatus n = AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, &propertySize, &state);
    if( n )
    {
        // something didn't work...
    }
    return state;
}
[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(volumeChanged:) 
                                             name:@"AVSystemController_SystemVolumeDidChangeNotification" 
                                           object:nil];
您可以像这样获得系统卷更新

-(Float32)audioVolume
{
    Float32 state;
    UInt32 propertySize = sizeof(CFStringRef);
    OSStatus n = AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, &propertySize, &state);
    if( n )
    {
        // something didn't work...
    }
    return state;
}
[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(volumeChanged:) 
                                             name:@"AVSystemController_SystemVolumeDidChangeNotification" 
                                           object:nil];
如果手机返回空字符串,您可以确定手机是否处于静默模式(如果在模拟器中,这将崩溃,因此编译时保护)


不过,这在iOS 5中不起作用。也是相关的。

这看起来很棒,但当设备静音时,我仍然会得到正音量值。看起来静音状态不会影响卷值。是否可以在IOS5下读取静音状态?尝试使用ApplicationMusicLayer而不是IPODMusicLayer,然后检查。。否则jbat100的答案在我看来相当不错。你是在创建自己的音乐播放器对象还是类似的东西。。。你能给我们一些代码吗?我正在创建一个软件,可以显示与正在电影院中播放的电影相关的内容。要求是警告具有取消静音设备的用户他应该将其静音。似乎此解决方案不再有效,因为iOS 7.0:(@property(nonatomic)float volume NS_DEPRECATED_iOS(3_0,7_0);“是否也可以获取有关打开和关闭静音按钮的更新?