获取音频路由会给出空字符串

问题描述

| 我目前正在使用一段代码来检测用户是否已将iPhone插入/拔出耳机。我用来检测它的方法如下所示。
void audioRouteChangeListenerCallback (void *inUserData,AudioSessionPropertyID inPropertyID,UInt32 inPropertyValueSize,const void *inPropertyValue){                            
    if (inPropertyID != kAudioSessionProperty_AudioRouteChange) return;

    CFStringRef route; UInt32 routeSize = sizeof(CFStringRef);
    AudioSessionGetProperty(kAudioSessionProperty_AudioRoute,&routeSize,&route);
    NSString *oldroute = (NSString*)route;
    NSLog(@\"Audio Route changed to: %@\",oldroute);
}
我要拔掉耳机时出现问题。插入它们可以按预期工作,日志文件显示\“音频路径更改为:耳机\”,但是,当我拔出插头时,会得到一个用于oldroute的空字符串。我希望这个值将是\“ Speaker \”,就像苹果文件中所说的那样。有没有人见过这个?在获取字符串oldroute时我做错什么了吗?谢谢     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)