【问题标题】:Audio Volume in Apple's speakHere example codeApple 的 speakHere 示例代码中的音频音量
【发布时间】:2010-12-20 01:40:08
【问题描述】:

我正在尝试使用 Apple 的 speakHere 示例来增加音频输出的音量。音量已设置为最大值:

//设置队列的音量 XThrowIfError(AudioQueueSetParameter(mQueue, kAudioQueueParam_Volume, 1.0), "设置队列音量");

但是,输出被定向到听筒扬声器,它不像 iPhone 左下角的扬声器那么响亮。这方面的一个例子可以在 iPhone 附带的“语音备忘录”中很好地看到。它们提供了一个“扬声器按钮”,可以在两个扬声器之间切换。有人知道这是怎么做的吗?我需要什么才能将我的音频输出到底部扬声器? 任何提示,提示,答案将不胜感激。 提前谢谢你 铝

【问题讨论】:

    标签: iphone cocoa-touch volume speaker


    【解决方案1】:

    您需要将播放器设置为扬声器模式。

    在 AQPlayer.mm 中添加此代码:

    OSStatus error;
    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
    error = AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride);
    if (error) printf("couldn't set audio speaker!");
    

    这段代码之前:

    XThrowIfError (AudioQueueSetParameter(mQueue, kAudioQueueParam_Volume, 1.0), "set queue volume");
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      看看 AudioSessionSetProperty,尤其是 kAudioSessionProperty_OverrideCategoryDe​​faultToSpeaker 属性。

      【讨论】:

        【解决方案3】:

        查看 kAudioSessionProperty_OverrideAudioRoute 属性

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-10
          • 2014-10-07
          • 1970-01-01
          • 1970-01-01
          • 2014-04-23
          相关资源
          最近更新 更多