`
简单的茶
  • 浏览: 87750 次
  • 性别: Icon_minigender_2
  • 来自: 昆明
社区版块
存档分类
最新评论

iOS 监听App音量的变化

 
阅读更多
方法1:
     在applicationDidFinishLaunching函数里添加
      [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(volumeChanged:)
                                             name:@"AVSystemController_SystemVolumeDidChangeNotification"
                                             object:nil];

  - (void)volumeChanged:(NSNotification *)notification
{
    float volume =
    [[[notification userInfo]
      objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]
     floatValue];
   
    DDLogVerbose(@"current volume = %f", volume);  
}

   弊端:当app进入后天后,依然会监听到volume的变化

2. 对 AudioSession 添加volume变化的 listener, 可以放在startAudioSession函数里
    //add a listener for Outputvolume
    AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume ,
                                    volumeListenerCallback,
                                    self
                                    );


void volumeListenerCallback (
                             void                      *inClientData,
                             AudioSessionPropertyID    inID,
                             UInt32                    inDataSize,
                             const void                *inData
                             ){
    const float *volumePointer = inData;
    float volume = *volumePointer;
    NSLog(@"volumeListenerCallback %f", volume);
}

3. 获取当前的volume
     float volume = 0.0;
    UInt32 dataSize = sizeof(float);
    OSStatus status = AudioSessionGetProperty (kAudioSessionProperty_CurrentHardwareOutputVolume,
                             &dataSize,
                             &volume);

分享到:
评论

相关推荐

    iOS正确监听手机静音键和侧边音量键的方法示例

    在iOS开发中,有时我们需要监听用户的手机静音键和侧边音量键的改变,以便在特定场景下做出相应的响应。本文将详细讲解如何正确地实现这一功能,并解决可能出现的问题。 首先,我们要知道iOS提供了AudioSession服务...

    ios-音量进度条 (App顶部全局音量进度条).zip

    同时,你可能还需要根据自己的需求,调整进度条的显示位置和外观,以及监听音量改变的回调函数,以便在音量变化时执行相应的逻辑。 总的来说,"ios-音量进度条 (App顶部全局音量进度条)"项目提供了一个实用且易于...

    Android项目仿ios音量调节的效果.rar

    确保在处理音量变化时考虑不同音量流(如媒体音量、铃声音量等)。 ```java AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); slider.setOnChangeListener(new Slider....

    安卓app开发项目-仿ios音量调节的效果(源码).zip

    这个“安卓app开发项目-仿ios音量调节的效果”源码提供了实现这一功能的具体方案。下面我们将详细探讨相关的技术点、实现原理以及如何在实际项目中应用这些代码。 首先,iOS的音量调节界面通常会显示一个滑动条,...

    iOS 类似火山小视频App顶部全局音量进度条

    3. **监听音量变化**: 如果需要实时更新音量进度条,可以监听`AVAudioSessionRouteChangeNotification`通知。当音量或音频路由发生变化时,系统会发送此通知。 ```swift NotificationCenter.default.addObserver...

    Android应用源码仿ios音量调节的效果-IT计算机-毕业设计.zip

    在Android应用开发中,模拟iOS音量调节效果是一项常见的需求,尤其在追求界面一致性或跨平台体验时。这个"Android应用源码仿ios音量调节的效果"项目提供了一个示例,帮助开发者理解如何在Android平台上实现类似iOS的...

    仿ios音量调节的效果.zip

    在安卓平台上实现仿iOS...总的来说,实现仿iOS音量调节效果的安卓App不仅涉及到用户界面设计和交互逻辑,还涉及到与系统服务的交互。这个过程既锻炼了开发者的技术能力,也提升了其对整体应用架构和用户体验的理解。

    IOS网络播放器

    同时,为了处理网络状态变化和错误,你需要理解断点续传、网络状态监听和错误处理机制。 2. **数据解析**:获取到的数据可能以JSON、XML或自定义格式存在,需要解析成可操作的对象。对于JSON,可以使用系统的JSON...

    uni-app-video(支持后台播放音频的视频播放器).zip

    同时,配合uni-app的生命周期函数,可以实现更复杂的逻辑,如初始化视频、监听播放状态变化等。 总结来说,uni-app-video组件是uni-app生态中的重要组成部分,它为开发者提供了高效、便捷的视频播放解决方案,特别...

    IOS应用源码——PlayMusicAction.rar

    开发者需要监听音量改变的通知,并同步更新UI。 总的来说,"PlayMusicAction"这个项目覆盖了iOS音频播放的核心技术,包括AVFoundation框架的应用、用户界面设计、后台播放支持、设备运动检测以及音量控制。通过研究...

    IOS音乐播放器

    使用`AVAudioPlayer`的代理方法,可以监听播放状态的变化,如播放完成、暂停等,从而更新UI和执行相应的操作。同时,利用`NotificationCenter`可以监听系统级别的事件,如耳机插入/拔出,以便做出相应反应。 8. **...

    ios 后台一直运行 demo audio 服务

    可以监听设备的相关通知,如`AVAudioSessionRouteChangeNotification`,根据变化来调整音频状态。 在开发过程中,测试后台音频功能至关重要。你可以使用Xcode的模拟器或者真机设备进行测试,切换到后台模式,观察...

    ios.zip_ios

    这涉及iOS中的AVFoundation框架,尤其是AVAudioPlayer类,它能播放音频文件,控制音量,处理播放状态等。同时,为了支持播放列表功能,需要理解如何使用数组或者字典等数据结构来存储歌曲信息。 用户登录功能通常...

    iOS音乐播放器

    总结一下,"iOS音乐播放器"项目主要涉及AVPlayer在播放本地音乐时的基本操作,包括播放、暂停、停止和音量控制,以及监听播放状态。通过学习和实践这个项目,开发者可以进一步掌握iOS音频开发的基础,并能扩展到更...

    iOS 后台播放歌曲 demo

    - 使用NSNotification监听音乐播放状态变化,如播放、暂停、结束等,以便更新用户界面。 7. **上一曲下一曲控制**: - 当用户点击上一曲或下一曲按钮时,检查当前播放的歌曲信息,然后根据需求选择上一首或下一首...

    清爽有创意的iOS音乐播放器

    - **音乐播放状态更新**:为了确保界面实时反映音乐播放状态,应用可能利用`NSNotification`或遵循`AVAudioPlayerDelegate`协议来监听音频播放的改变,如播放结束、暂停等。 5. **多任务处理**: - **后台播放**...

    xcode编写iphone电子琴程序

    在电子琴应用中,你需要监听用户触摸屏幕的事件,将这些事件转化为音符,然后利用Core Audio播放相应的音频样本或合成声音。 3. **AVFoundation框架**:除了Core Audio,AVFoundation框架也是处理音频的关键。你...

    ios文字转为语音

    例如,可以通过监听`IFlySpeechSynthesizerDelegate`的代理方法来获取合成状态变化的通知。 总之,实现iOS上的文字转语音功能,可以利用苹果的AVFoundation框架,也可以借助第三方如讯飞的SDK,后者提供了更多的...

    IOS下使用AVAudioPlayer播放MP3(支持后台播放)

    这将允许应用在后台播放音频,但请注意,苹果对后台音频使用有严格的规定,应确保其符合App Store审核指南。 在实际播放音频时,可以调用AVAudioPlayer的play()方法: ```swift audioPlayer.play() ``` 为了控制...

    IOS应用源码Demo-视频音频控制器-毕设学习.zip

    6. **事件监听与回调**:在播放过程中,可能需要监听各种状态变化,如播放完成、缓冲进度、错误发生等,源码可能会展示如何设置这些监听和处理相应的回调。 7. **内存管理和性能优化**:良好的源码会考虑到内存管理...

Global site tag (gtag.js) - Google Analytics