标签: headphones

耳机插入了吗?IOS 7

为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)

avaudioplayer headphones ios avaudiosession ios7

64
推荐指数
3
解决办法
2万
查看次数

插入耳机或拔下耳机时,iOS应用程序崩溃

我在iOS 6.1.3 iPad2和新iPad上运行SIP音频流应用程序.

我在iPad上启动了我的应用程序(没有插入任何内容).
音频工作.
我插上耳机.
应用程序崩溃:malloc:对象0x的错误....:没有分配被释放的指针或EXC_BAD_ACCESS

或者:

我在iPad上启动了我的应用程序(耳机已插入).
音频来自耳机.
我拔下耳机.
应用程序崩溃:malloc:对象0x的错误....:没有分配被释放的指针或EXC_BAD_ACCESS

应用代码采用基于http://code.google.com/p/ios-coreaudio-example/示例代码的AudioUnit api (见下文).

我使用kAudioSessionProperty_AudioRouteChange回调来获得更改感知.因此,OS声音管理器有三个回调:
1)处理录制的麦克风样本
2)为扬声器提供样本
3)通知音频硬件存在

经过大量测试后,我的感觉是棘手的代码是执行麦克风捕获的代码.在插入/拔出动作之后,大多数时候在调用RouteChange之前调用记录回调几次导致以后的"分段错误"并且永远不会调用RouteChange回调.更具体地说,我认为AudioUnitRender函数会导致"内存不良访问",而根本不会抛出异常.

我的感觉是,非原子记录回调代码与OS声音设备相关结构的更新竞争.因此,非原子性的记录回调更可能是OS HW更新和记录回调的并发性.

我修改了我的代码以使录制回调尽可能地薄,但我的感觉是我的应用程序的其他线程带来的高处理负载正在为之前描述的并发竞争提供支持.因此,由于AudioUnitRender访问不良,代码的其他部分会出现malloc/free错误.

我试图通过以下方式减少录制回调延迟:

UInt32 numFrames = 256;
UInt32 dataSize = sizeof(numFrames);

AudioUnitSetProperty(audioUnit,
    kAudioUnitProperty_MaximumFramesPerSlice,
    kAudioUnitScope_Global,
    0,
    &numFrames,
    dataSize);
Run Code Online (Sandbox Code Playgroud)

我试图提出有问题的代码:

dispatch_async(dispatch_get_main_queue(), ^{
Run Code Online (Sandbox Code Playgroud)

有人有提示或解决方案吗?为了重现错误,这里是我的音频会话代码:

//
//  IosAudioController.m
//  Aruts
//
//  Created by Simon Epskamp on 10/11/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "IosAudioController.h"
#import <AudioToolbox/AudioToolbox.h>

#define kOutputBus 0
#define kInputBus 1

IosAudioController* …
Run Code Online (Sandbox Code Playgroud)

headphones audiounit ios

24
推荐指数
1
解决办法
2901
查看次数

检查耳机是否已插入

我似乎无法找到一种方法来了解Android是否插入了耳机.我发现了各种解决方案,但它们似乎总是返回假.唯一似乎正常工作的是a BroadcastReceiver,但这不是我需要的:

我只需要这样的东西

if(headphones plugged in) {
}
Run Code Online (Sandbox Code Playgroud)

有这样的功能吗?它需要一些特殊权限吗?

audio android headphones

22
推荐指数
3
解决办法
2万
查看次数

耳机/麦克风插孔的带宽

在看到Square使用iPhone上的耳机插孔发送信用卡数据后,我对此感兴趣.

iPhone,普通笔记本电脑和普通移动设备的耳机插孔的平​​均带宽是多少?

可以通过在不同的通道(左/右)上发送不同的数据流来加倍吗?

hardware iphone mobile bandwidth headphones

17
推荐指数
1
解决办法
1万
查看次数

拔下耳机时是否有事件?

在测试过程中,客户注意到,当拔下耳机时,iPhone中的视频播放会暂停.他想要类似的音频播放功能,也许还能弹出一条消息.

有没有人知道是否有某种类型的事件我可以联系到这个可能吗?

iphone objective-c headphones audiotoolbox ios

16
推荐指数
2
解决办法
9539
查看次数

对多按钮有线耳机做出反应

我正在用一对a-JAYS Four耳机(有线遥控器/麦克风上有3个按钮)插上Galaxy Nexus(ICS 4.0.2)进行一些实验.

我的问题是,只有中间按钮被我编写的测试应用程序"识别",即在按下时触发KeyCode 79的Intent.ACTION_MEDIA_BUTTON和/或Activity.onKeyDown回调.

按下其他两个按钮不会触发任何以前的方法.有关信息,这些耳机及其3个按钮适用于Apple iPhone和Apple电脑(至少是MacBookPro 2011),正如盒子上标榜的那样......

首先,我认为Android或我的设备根本无法处理有线插孔遥控器上的多个按钮(即使这听起来很奇怪......)但是后来我尝试使用HTC的一对耳机(其中一个是他们的欲望设备)有3个按钮.中间按钮的反应方式与我的a- JAYS相同,但另外两个按钮也可以通过KeyCodes 8788识别,分别是Play PreviousPlay Next媒体键.

因此,似乎设备或Android的低级别层根本无法捕获某些耳机按钮信号:/(至少那些不是8788)

任何人都知道如何使Android能够识别来自Apple兼容的耳机的其他按钮/信号?是否意味着低水平的司机为ICS写作,或者我错过了一些非常明显的东西?

任何帮助将非常感激.如果需要,可以发布我的测试应用程序代码.

干杯

controls android button headphones

15
推荐指数
1
解决办法
2万
查看次数

通过Android手机中的耳机插孔发送数据

我正在处理一个新项目,我必须通过具有特定电压的耳机插孔发送数据,然后我可以处理该电压.

所以在这里我需要编程具体的电压取决于我的数据.我有可能在android中访问耳机的输出电压,然后创建一个控制该电压的应用程序吗?

android headphones

13
推荐指数
1
解决办法
4万
查看次数

通过C#检测耳机是否已插入

没有示例如何通过C#检测耳机是否插入.

我认为应该是一些事件......

使用WMI有意义吗?

 ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\cimv2",
                                                                  "SELECT * FROM Win32_SoundDevice");

foreach (ManagementObject queryObj in searcher.Get())
{
    Console.WriteLine("-----------------------------------");
    Console.WriteLine("Win32_SoundDevice instance");
    Console.WriteLine("-----------------------------------");
    Console.WriteLine("StatusInfo: {0}", queryObj["StatusInfo"]);
}
Run Code Online (Sandbox Code Playgroud)

有人会很高兴提供它吗?

谢谢!

.net c# headphones audio-device

12
推荐指数
2
解决办法
6538
查看次数

如何在耳机插入/拔出时收到通知?苹果电脑

当耳机插入或拔出耳机插孔时,我想收到通知.
我已经在stackoverflow上搜索了这个,但我似乎无法找到我正在寻找的Mac,我只能找到iOS.
那么,您对如何执行此操作有任何想法吗?我想要做的是:当耳机插入时,我想以编程方式暂停iTunes(类似iOS的功能).
谢谢!

macos cocoa objective-c core-audio headphones

11
推荐指数
1
解决办法
4972
查看次数

如何从头部电话插孔获得电力?

我的任务是,如果有人知道如何创建一个可以通过设备的耳机插孔发送电荷的Android应用程序,就像在这个视频iPocket_LED中一样.该视频显示了一个iPhone应用程序,用于控制插入耳机插孔的LED.

我想知道如何访问设备发送电子信号.

抱歉我的英语,不是我的语言,我希望有人了解我

android headphones jack

10
推荐指数
2
解决办法
3万
查看次数