【问题标题】:Changing Device Volume更改设备音量
【发布时间】:2012-02-10 12:02:13
【问题描述】:

我正在开发一个 Iphone/Ipod 应用程序,我在其中使用 AVAudioPlayer。我正在通过滑块更改音频音量,该滑块工作正常,但现在我必须通过按下设备加号和减号按钮来更改(增加/减少)滑块,而不是自己更改滑块。当我按下设备的加号/减号按钮时,不知道控制在哪里?有谁知道,欢迎帮忙。

【问题讨论】:

    标签: iphone objective-c ios ipod


    【解决方案1】:

    如何访问硬件音量控制器?

    全球系统体积,包括您的应用程序的体积,由 iPhone OS 处理,应用程序无法访问。

    这是链接,请阅读here 希望对你有帮助:)

    【讨论】:

    【解决方案2】:

    这个问题对我来说并不完全清楚,但您似乎想要在系统音量发生变化时收到通知?如果是这样,这是可能的,我希望我能正确理解你的问题。以下怎么样:

    - (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
    }
    

    我是从 here 那里得到的,Sandy 的回答。

    【讨论】:

    • 感谢您的回复,但我已经访问过了。我只想知道按下设备上的加号/减号按钮后我可以在哪里收到响应。
    • 你好@paul,你能告诉我..这里的音量是通过按钮改变的吗?音频播放器音量的设备音量?
    【解决方案3】:

    大满贯,谢谢大家!我已经搜索过了。这对 MPMusicPlayer 有效,但对 AVAudioPlayer 无效。 你可以做到的。

    MPMusicPlayerController *_musicController = [MPMusicPlayerController iPodMusicPlayer];
    

    但对于 AVAudioPlayer 来说不是这个,

    AVAudioPlayer *_audioController = [AVAudioPlayer iPodMusicPlayer];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      相关资源
      最近更新 更多