iPhone – Configuring the AVAudioSession and Output Audio to iPhone Speaker
来源:互联网 发布:matlab 给矩阵复制 编辑:程序博客网 时间:2024/06/12 00:04
http://eureka.ykyuen.info/2010/06/02/iphone-configuring-the-avaudiosession-and-output-audio-to-iphone-speaker/
iPhone – Configuring the AVAudioSession and Output Audio to iPhone Speaker
I am working on the AVAudioRecorder and AVAudioPlayer. By default, the output audio is routed to the receiver instead of the iPhone speaker. In order to fulfill my requirement, i have to configure the AVAudioSession in the AppDelegate.
There are 2 ways to route the audio output to speaker.
- Overriding the output audio route
- Changing the default output audio route (iPhone OS 3.1 or above)
If you only overriding the output audio route, the audio output will revert to the receiver instead of the speaker when u plugging in and then unplugging the headset. Therefore, it’d be better to change the default output audio route. but please note that it only support iPhone OS 3.1 or above.
Here comes to the codes.
1. Load the AVFoundation and AVToolbox frameworks into your Xcode project.
2. Import the header file in the AppDelegate.h
1
#import <AVFoundation/AVFoundation.h>
2
#import <AudioToolbox/AudioToolbox.h>
3. Add the following code in applicationDidFinishLaunching method in AppDelegate.m
01
// Set AudioSession
02
NSError
*sessionError =
nil
;
03
[[AVAudioSession sharedInstance] setDelegate:
self
];
04
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
05
06
/* Pick any one of them */
07
// 1. Overriding the output audio route
08
//UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
09
//AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
10
11
// 2. Changing the default output audio route
12
UInt32 doChangeDefaultRoute = 1;
13
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
sizeof
(doChangeDefaultRoute), &doChangeDefaultRoute);
Then u can try the playback with the AVAudioPlayer
Done =)
Reference: Audio Session Cookbook – Redirecting Output Audio
- iPhone – Configuring the AVAudioSession and Output Audio to iPhone Speaker
- iPhone Video Audio Profile
- How RGB is related to HSV, and how to implement hue shifting on the iPhone
- iPhone Programming: Adding a Contact to the iPhone Address Book
- How to uninstall Xcode and iPhone SDK
- Playing Video on the iPhone and iPad
- How Do I Route Audio to Speaker without using AudioSessionSetProperty?
- OpenEars 语音处理Welcome to OpenEars: free speech recognition and speech synthesis for the iPhone
- Taking Your iPhone to the Max
- How To Compile OpenSSL for the iPhone
- Introduction to Augmented Reality on the iPhone
- The Ultimate Guide To iPhone Resolutions
- The Ultimate Guide To iPhone Resolutions
- The Ultimate Guide To iPhone Resolutions
- iphone Audio探索之旅
- DirectX Audio and DirectShow to play the music
- [raspberry pi]CHANGING THE AUDIO OUTPUT
- A streaming audio player class (AudioStreamer) for Mac OS X and iPhone
- spring 事务
- 工具宝典
- HID报告描述符详解
- sql 日期格式化
- hdu 1080 Human Gene Functions 很霸气的DP
- iPhone – Configuring the AVAudioSession and Output Audio to iPhone Speaker
- Android GridView 一行显示数据(包括图片和文本),解决的办法是计算数据占该行的宽度是多少
- 链表创建 和 倒置
- ViewGroup学习(一)
- 校内排位赛_2012_7_22_A
- 测试 Windows 8 中的 Metro 风格应用
- QColorDialog类
- Android 内核开发初步
- LINQ 查询语法与方法语法 (C#)