iPhone:如何使用 AVAudioPlayer 检测 Iphone/Ipod 音量级别

Posted

技术标签:

【中文标题】iPhone:如何使用 AVAudioPlayer 检测 Iphone/Ipod 音量级别【英文标题】:iPhone:How to detect an Iphone/Ipod volume level using AVAudioPlayer 【发布时间】:2012-08-08 06:53:33 【问题描述】:

我正在使用 AVAudioPlayer 开发应用程序,我想检测我的设备的音量 即 iPhone/iPad 那么我该怎么做呢?

其实我想检测 iPhone/iPad 何时处于静音模式,那么它的音量是多少?

有什么想法吗?分享吧。

谢谢,

【问题讨论】:

【参考方案1】:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(volumeChanged:)
     name:@"AVSystemController_SystemVolumeDidChangeNotification"
     object:nil];


- (void)volumeChanged:(NSNotification *)notification

    float volume =
    [[[notification userInfo]
      objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]
     floatValue];

    // Do stuff with volume

请在this线程上查看答案详情。

【讨论】:

尽管调整了音量,但当我在 ApplicationDelegate 中实现此功能时,从未调用 volumeChanged 方法。

以上是关于iPhone:如何使用 AVAudioPlayer 检测 Iphone/Ipod 音量级别的主要内容,如果未能解决你的问题,请参考以下文章

iPhone SDK:如何使用 AVAudioPlayer 标准化音频播放?

iPhone 上的 AVAudioPlayer 声音意外停止循环:如何调试?

iPhone SDK:使用核心音频 AVAudioPlayer 更改播放速度

通过 Apple iPhone Earpods 控制 AVAudioPlayer

iPhone:AVAudioPlayer 是不是支持 .wav 格式?

iPhone:MPMusicPlayerController 停止 AVAudioPlayer