`
bengan
  • 浏览: 203827 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

iOS 监听音量调节 事件

阅读更多
iOS 监听音量调节 事件

做项目需要音量调节的事件来控制其他动作,找了半天,调试了一下,一下代码都可以直接使用。经过测试的。
有两个方法:
方法一:
添加AudioToolbox.framework
Appdelegate.m中,添加头文件#include
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加
    AudioSessionInitialize(NULL, NULL, NULL, NULL);

    AudioSessionSetActive(true);

    AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume ,

                                    volumeListenerCallback,

                                    (__bridge void *)(self)

                                    );

外加回调函数



void volumeListenerCallback (

                             void                      *inClientData,

                             AudioSessionPropertyID    inID,

                             UInt32                    inDataSize,

                             const void                *inData

                             ){

    const float *volumePointer = inData;

    float volume = *volumePointer;

    NSLog(@"volumeListenerCallback %f", volume);

}

搞定。

方法二:较为简单实用

添加MediaPlayer.framework

在Appdelegate.m中

在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions方法中添加



    [[NSNotificationCenter defaultCenter] addObserver:self

                                             selector:@selector(volumeChanged:)

                                             name:@"AVSystemController_SystemVolumeDidChangeNotification"

                                               object:nil];

然后添加方法



-(void)volumeChanged:(NSNotification *)noti

{                                  

    float volume =

    [[[noti userInfo]

      objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]

     floatValue];

    NSLog(@"volumn is %f", volume);

}

在controller.m中添加头文件#import

在Viewdidload中添加



    MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(0, 0, 200, 20)];

    volumeView.center = CGPointMake(150,370);

    [volumeView sizeToFit];

    [self.view addSubview:volumeView];

就搞定了

from:
http://blog.sina.com.cn/s/blog_65a8ab5d0101cb9k.html
分享到:
评论

相关推荐

    安卓Android源码——仿ios音量调节的效果.zip

    "安卓Android源码——仿ios音量调节的效果.zip"这个压缩包文件就是针对这一需求,提供了源代码,帮助开发者创建一个类似iOS设备上的音量调节界面。在iOS系统中,音量调节界面通常以滑块的形式出现,简洁且直观。以下...

    仿ios音量调节的效果.zip

    这个名为“仿ios音量调节的效果.zip”的压缩包文件提供了一种实现iOS风格音量调节效果的源码,这对于开发者来说是一个很好的参考资源。下面将详细讨论相关知识点。 首先,iOS设备的音量调节界面以其独特的滑块设计...

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

    在Android开发中,有时我们希望实现与iOS类似的音量调节界面和体验,以提供用户更加一致的操作感受。这个"Android项目仿ios音量调节的效果"压缩包文件包含了一个示例项目,展示了如何在Android上模仿iOS的音量控制UI...

    基于Android的仿ios音量调节的效果.zip

    在Android平台上实现仿iOS音量调节效果,是一个有趣且实用的课题,可以帮助开发者提升应用程序的用户体验。本项目针对Android开发人员,尤其是初学者和毕业生,提供了实现这一效果的方法。无论你是使用Android ...

    仿ios音量调节的效果毕业设计—(包含完整源码可运行).zip

    在本项目中,我们主要探讨的是如何在非iOS平台上实现类似iOS系统的音量调节效果。这个毕业设计项目提供了完整的源代码,确保用户可以运行并理解其中的实现细节。以下是关于这个项目的详细介绍和相关知识点: 1. **...

    新仿ios音量调节的效果源码

    【标题】"新仿ios音量调节的效果源码"揭示了一个Android开发项目,目标是实现一个与iOS系统音量调节界面相仿的用户界面。在iOS系统中,音量调节通常以滑块形式呈现,具有简洁且直观的设计,而这个项目则致力于在...

    安卓Android源码——仿ios音量调节的效果.rar

    本资源"安卓Android源码——仿ios音量调节的效果.rar"提供了一个具体的示例,教你如何在Android应用中模仿iOS系统的音量调节界面。这个教程对于那些希望使自己的应用具有跨平台一致性或者追求独特UI设计的开发者来说...

    Android应用源码仿ios音量调节的效果.zip

    你需要注册BroadcastReceiver监听音量改变的意图(ACTION_AUDIO_BECOMING_NOISY),并在接收到音量改变事件时更新自定义View的状态。 5. 感应器(Sensor):为了模拟iOS音量键的物理反馈,可以考虑使用Android的...

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

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

    仿ios音量调节的效果

    总的来说,实现仿iOS音量调节的效果,需要结合Android的UI组件和音频管理API,通过监听物理按键和`SeekBar`变化,同步更新音量状态,并添加适当的动画效果以提升用户体验。理解这些核心概念和组件的工作原理,将帮助...

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

    在安卓应用开发中,模拟iOS音量调节效果是一项常见的需求,尤其对于那些追求跨平台一致性的开发者来说。这个“安卓app开发项目-仿ios音量调节的效果”源码提供了实现这一功能的具体方案。下面我们将详细探讨相关的...

    新版仿ios音量调节的效果+addroid源码+apk

    总的来说,实现"新版仿ios音量调节的效果"涉及到Android UI设计、动画、事件处理等多个方面,这不仅是提升用户体验的一种方式,也是Android开发者深入理解系统特性和自定义控件的一个实践案例。通过研究和使用提供的...

Global site tag (gtag.js) - Google Analytics