【问题标题】:Is it possible to have AVFramework and AudioToolbox framework in one app?是否可以在一个应用程序中拥有 AVFramework 和 AudioToolbox 框架?
【发布时间】:2009-12-14 07:26:27
【问题描述】:

我正在尝试编写开发音频相关的应用程序。 在那,我使用 AudioToolBox 框架来录制声音。我正在使用 AVFramework 播放声音。 当应用程序启动时,它将使用 AVFramework 播放一些 mp3 文件。并且还初始化了 Audiotoolbox。 在模拟器中,我可以录制和播放。但是当我在 iPhone 上测试它时,初始化 AudioToolBox 时出现以下错误。

2009-12-11 22:25:51.599 StoryBook[807:207] 录音机初始化 AudioSessionInitialize 失败并出现错误:1768843636

谁能告诉我我们是否可以在一个应用程序中同时使用 AV 和 Audio Toolbox 框架? 为什么我会收到这个错误?

【问题讨论】:

    标签: iphone cocoa-touch audio


    【解决方案1】:

    根据我的经验,这个返回码:

    2009-12-11 22:25:51.599 StoryBook[807:207] AudioRecorder init AudioSessionInitialize 失败,错误:1768843636

    是在应用内多次调用 AudioSessionInitialize 的症状。

    documentation 在他们写信时以某种方式警告了这一点:

    在进行任何其他音频会话服务调用之前,您的应用程序必须调用此函数。您可以根据需要激活和停用音频会话(请参阅 AudioSessionSetActive),但应该只初始化一次。

    【讨论】:

      【解决方案2】:

      如果您想同时录制和播放,您应该更改音频会话类别。默认情况下,它只允许您播放声音。

      NSError* 错误;
      [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:*err];

      【讨论】:

      • 不,我的目的不是同时录制和播放。我正在使用音频队列服务进行录制并使用 AVFramework 播放。
      • 这种情况下为什么不用AVAudioRecorder?
      【解决方案3】:

      使用 AVAusioSession 管理你的会话,不要手动调用 AudioSessionInitialize。

      【讨论】:

        猜你喜欢
        • 2011-06-19
        • 2015-08-30
        • 1970-01-01
        • 1970-01-01
        • 2011-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多