- 浏览: 85652 次
- 性别:
- 来自: 昆明
iOS 监听App音量的变化
- 博客分类:
- solutions
方法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);
在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);
发表评论
-
HOW TO ADD PHOTOS TO THE IPHONE SIMULATOR
2012-12-25 15:49 711Building an app that needs to a ... -
截取部分图片并显示
2012-09-14 11:15 800src : http://marshal.easymorse ... -
va_start和va_end使用详解
2012-09-07 11:40 880src : http://www.cnblogs.co ... -
iPhone/iPad全屏截图与区域截图的几种方法
2012-09-06 13:48 4133http://www.cocoachina.com/newbi ... -
【转载】将int型数据转换成任意进制字符串的算法
2012-08-28 09:50 7011. http://hi.baidu.com/doking_b ... -
iOS 使用 predicate 限定 NSNumber 类型的数据
2012-07-02 13:25 858错误的写法: predicate = [NSPredicat ... -
在Mac OS X Lion系统中访问~/Library目录都需要点技巧
2012-07-02 10:52 976Mac虚拟机升级为Lion系统了,在iPhone模拟机 ... -
XCode调试 设置全局断点并快速定位问题代码所在行
2012-06-20 19:17 0http://www.kaifazu.com/iOS_kfjc ... -
Error Domain=NSOSStatusErrorDomain Code=-9807
2012-06-14 10:28 6775Client 端连接服务器时会有时会遇到一下错误: ... -
iOS 的 keychain 简介
2012-05-03 10:38 1190src: http://www.cnblogs.com/v2m ... -
Exception and Signal
2012-03-27 15:11 622src: http://publib.boulder.ibm. ... -
Handling unhandled exceptions and signals
2012-03-27 14:54 698src: http://cocoawithlove.com/2 ... -
操作CoreData 常见的错误及解决方法
2012-03-07 18:06 752src: http://blog.csdn.net/ch_ ... -
scrollViewDidScroll 和scrollViewDidEndScrollingAnimation的区别
2012-02-23 11:30 4363UIScrollViewDelegate has got ... -
iOS自定义风火轮UIActivityIndicator
2012-02-15 23:07 6516src:http://blog.csdn.net/kmyhy/ ... -
Google Talk 和 Google Voice 的终极整合
2012-02-15 10:14 785src : http://dan.febird.net/2 ... -
How To Use UIView Animation Tutorial
2012-02-08 16:20 700src: http://www.raywenderlich.c ... -
iOS应用程序状态切换相关
2012-01-31 15:14 800原文出处: http://blog.csdn.net/duan ... -
xcode4 设置调试错误信息小结
2012-01-17 13:17 874原文出处: http://blog.csdn.net/coc ... -
抓包工具charles使用方法
2012-01-08 14:08 3888这个是charles在mac上的使用方法 http://www ...
相关推荐
KVO监听UI控件的frame变化,kVO的简单使用
iOS 10 App Development Essentials: Learn to Develop iOS 10 Apps with Xcode 8 and Swift 3 Author: Neil Smyth Length: 816 pages Edition: 1 Language: English Publisher: CreateSpace Independent Publishing...
一.前言IOS监听手势使用的方法为UISwipeGestureRecognizer。二. 添加手势监听三. 添加响应事件四. 模板把上面的整合起来,基本可以按照
iOS 11 App Development Essentials Learn to Develop iOS 11 Apps with Xcode 9 and Swift 4
iOS 11 App Development Essentials Learn to Develop iOS 11 Apps with Xcode 9 and Swift 4 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Learn ios 7 App Development
Learn iOS 8 App Development, 2nd edition By James Bucanek iOS8应用开发第二版,仅供学习,请支持正版。
iOS 8 应用开发基础 源码2 using Xcode 6.3 (Swift 1.2): iOS 8 App Development Essentials Source Code
ios判断App是否安装: 自已写的A,B两个程序。用该方法可以使A程序判断B程序是否在ios设备中有没有安装。 不能判断任意程序是否安装。
1、原理文章:https://kunnan.blog.csdn.net/article/details/113444297 2、应用场景:下单的的付款详情、...3、核心原理:if ([view respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)])
书名:Learn iOS 8 App Development第二版 格式:PDF 出版日期: 2014年
Advanced iOS App Architecture 包含 PDF + Epub + Source code Version: iOS13 & Swift5.1 & Xcode11 有钱请支持正版 没钱请默默学习 地址: ...
iOS 11 App Development Essentials Learn to Develop iOS 11 Apps with Xcode 9 and Swift 4 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
高仿iOS11 App Store列表效果.拖动效果+转场动画,(根据别人的代码改造,方便之后使用)
ios_app资源
ios app调用第三方app,可以调用萤石云app和中维世纪app。
iOS的app上下黑边问题在项目中添加三张图片可以解决问题
一个最简单的ios app源代码,希望对刚入门的兄弟有帮助
ios APP電子書
ios旧版软件下载工具,可以使用该工具下载旧版ios应用哦