为iPhone开发应用程序,其中包含需要通过耳机收听的音频文件.
如何检查耳机是否未插入,以便告诉用户插入耳机.
我有来自另一个线程的以下代码,但不推荐使用audioSessionGetProperty方法.任何人都知道如何更改以下代码以使其工作或拥有自己的代码/解决方案.
谢谢.
- (BOOL)isHeadsetPluggedIn {
UInt32 routeSize = sizeof (CFStringRef);
CFStringRef route;
//Maybe changing it to something like the following would work for iOS7?
//AVAudioSession* session = [AVAudioSession sharedInstance];
//OSStatus error = [session setCategory:kAudioSessionProperty_AudioRoute...?
//the line below is whats giving me the warning
OSStatus error = AudioSessionGetProperty (kAudioSessionProperty_AudioRoute,
&routeSize,
&route);
/* Known values of route:
* "Headset"
* "Headphone"
* "Speaker"
* "SpeakerAndMicrophone"
* "HeadphonesAndMicrophone"
* "HeadsetInOut"
* "ReceiverAndMicrophone"
* "Lineout"
*/
if (!error && (route != NULL)) …
Run Code Online (Sandbox Code Playgroud) 我目前正在开展一个项目,涉及在应用内部播放来自iphone音乐库的音乐.我正在使用MPMediaPickerController来允许用户选择他们的音乐并使用iPhone内的iPod音乐播放器播放它.
然而,当用户插入耳机并将其移除时,我遇到了问题.音乐将无缘无故地突然停止播放.经过一些测试后,我发现当用户从设备上拔下耳机时,iPod播放器会暂停播放.那么有没有办法以编程方式检测耳机是否已拔下,以便我可以继续播放音乐?或者有什么方法可以防止iPod播放器在用户拔下耳机时暂停?
有谁知道你是否可以检测到耳机是否插入iPhone,如果不是 - 禁用应用程序中的声音.
我想我可以管理禁用声音,但检测部分我还没有找到任何东西.
谢谢
我正在使用AVAudioPlayer
该类在我的应用程序中播放.mp3文件.是否可以通过编程方式检查耳机是否已连接到设备?
在第一代iPod设备中,当没有连接耳机时,音量控制条被隐藏(用于音乐和视频).
我知道这是一个已经问过的问题,我发现可能有重复:
...以及有关WWW的更多信息.但是我已经尝试了每个解决方案,每次我遇到问题时,可能是因为它们是旧线程并且指的是iOS 4.如何在iOS 5.0上检测到它?谢谢
iphone ×3
headphones ×2
ios ×2
audio ×1
audio-player ×1
headset ×1
ios7 ×1
ipod ×1
objective-c ×1