bluetooth99 2013-04-25 02:48 采纳率: 0%
浏览 3090

iphone中AudioSessionProperty

我开发了一个iphone应用,需要用到扬声器和蓝牙。

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];
    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
    AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,
                             sizeof (audioRouteOverride), &audioRouteOverride);

    UInt32 allowBluetoothInput = 1;
    AudioSessionSetProperty (
    kAudioSessionProperty_OverrideCategoryEnableBluetoothInput,
                             sizeof (allowBluetoothInput),
                             &allowBluetoothInput
                             );

但是扬声器和蓝牙不能同时用,如果打开蓝牙,声音只能从耳机听。如果蓝牙关闭,扬声器就可以。不知道为什么?

  • 写回答

1条回答 默认 最新

  • Mr_me 2013-04-25 06:54
    关注

    可以在扬声器用changeDefaultRoute代替audioRouteOverride

    UInt32 doChangeDefaultRoute = 1;
    AudioSessionSetProperty(
                           kAudioSessionProperty_OverrideCategoryDefaultToSpeaker
                         , sizeof(doChangeDefaultRoute)
                         , &doChangeDefaultRoute);
    

    不确定能不能修复蓝牙的问题,不过OverrideCategoryEnableBluetoothInput 就是控制输入和输出的。

    评论

报告相同问题?

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用