AVAudioRecorder - 正确的 MPEG4 AAC 录制设置

2024-03-10

我有一个实时应用程序,估计有 15% 的用户报告记录功能不起作用。我们的测试设备上没有发生这种情况,但报告显示问题在于prepareToRecord 返回“否”。我无法找到 AAC 格式的示例设置。我的任何设置是否已关闭?应用程序需要 iOS5 并使用 ARC。

 AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryRecord error:nil];

NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
 [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey,
 [NSNumber numberWithFloat:44100.0], AVSampleRateKey,
 [NSNumber numberWithInt:1], AVNumberOfChannelsKey,
 [NSNumber numberWithInt:AVAudioQualityHigh], AVSampleRateConverterAudioQualityKey,
 [NSNumber numberWithInt:128000], AVEncoderBitRateKey,
 [NSNumber numberWithInt:16], AVEncoderBitDepthHintKey,
 nil];

NSString *fileName = [NSString stringWithFormat:@"%@%@.caf", verseGUID, bRecordingReference ? @"_ref" : @""];
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@", [[Utilities sharedInstance] documentsDirectoryPath], fileName]];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];
if([audioRecorder prepareToRecord]){
    [audioRecorder record];
}else{
    int errorCode = CFSwapInt32HostToBig([error code]);
    NSLog(@"Error: %@ [%4.4s])", [error localizedDescription], (char*)&errorCode);
}  

这可能有很多与录音设置无关的事情。

您想要回答的真正问题似乎是:什么会导致录音不发生?

audioRecorder 可能为零,或者 audioRecorderprepareToPlay 可能返回 NO。前者似乎更有可能。

传递给 initWithURL 的 url 可能格式错误: - 您是否通过使用 verseGUID、bRecordReference 值进行了测试?也许你的设备永远不会有一个坏的 verseGUID,但是没有发生记录的设备有一个 nil/空 verseGUID。这可能会导致文件名只是“.caf”。

你似乎有自己的类方法 [Utilities sharedInstance] 。出于某种原因,这是否可以在您的设备上工作,但不能在出现故障的设备上工作?如果是这样,您可能无意中要求在顶级目录中进行记录。

您能否将您拥有的测试人员纳入“测试版”列表?注册 TestFlight 或 Hockey Kit 之类的东西,让一个或多个未能记录的用户也注册,然后上传带有诊断的应用程序测试版,该测试版会在屏幕上显示一个对话框,并显示由此产生的“错误”。这可能是最明显的。我使用 testflightapp.com 只是因为它是我第一次尝试,它对我来说非常容易管理,对我的 Beta 测试人员来说也很轻松。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AVAudioRecorder - 正确的 MPEG4 AAC 录制设置 的相关文章

  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • UIBezierPath 的起始和结束角度?

    我在 iOS 中使用如下代码编写了半圆UI贝塞尔路径 and CAShape层 clockWiseLayer CAShapeLayer alloc init CGFloat startAngle M PI 2 CGFloat endAngl
  • 如何从 NSString 中删除十六进制字符

    我面临一个与字符串中的某些十六进制值相关的问题 我需要从字符串中删除十六进制字符 The problem is when i print object it prints as BLANK line And in debug mode it
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 为了支持 iPhone 5 的更长屏幕,需要检查什么? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone 5屏幕尺寸如何处理 https stackoverflow com questions 12396545 how to deal with iphone 5 screen size iP
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j
  • 下标:使用字符串枚举访问我的字典值

    我想做类似的事情 使用字符串枚举访问我的字典值 我试图重载字典的下标但没有成功 访问字典 let district address JsonKeys district 其中 JsonKeys 是 enum JsonKeys String c
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self
  • UIViewController 作为单例

    我在标签栏应用程序中有一个 UIViewController 我已经从 MainWindow nib 文件添加了控制器 即不是以编程方式 我的问题是如何使我的视图控制器成为单例 解决 Facebook 委托问题 您可能想让您的 Facebo
  • 如何比 CGContextStrokePath 更快地渲染线条?

    我正在使用 CGContextStrokePath 绘制约 768 个点的图表 问题是 每一秒我都会得到一个新的数据点 从而重新绘制图表 目前 这个已经很繁忙的应用程序占用了 50 的 CPU 图形绘制是在UIView 中的drawRect
  • 多个 ViewController(containerView?childView?viewController 的实例?)

    我需要在另一个视图之上添加一个新视图 带有 ViewController 用户与这个新视图交互了一段时间 然后我想将其删除 在旧版本的 Xcode 中 我可以将其添加为子视图 我现在收到 EXC BAD ACCESS 错误 我不希望添加的视
  • 在 iOS 上的 SceneKit 中导入 3d 模型

    从 URL 导入 obj 文件并将其转换为 SCNNode 时遇到问题 这是代码 swift3 let url URL init string https cloud box com shared static ock9d81kakj91d
  • Expo 应用程序“您的应用程序正在使用广告标识符 (IDFA)”

    我正在尝试将应用程序上传到应用程序商店 每次我上传二进制文件时 苹果都会坚持认为我的应用程序正在使用广告 而我从未实现过这样的事情 我查看了文档并删除了涉及的所有代码ASIdentifier and adIdentifier我不太确定我错过
  • UIWebView 如何检测 被点击

    我知道下面的方法可以检测链接元素点击 但我想知道是否UIView可以检测是否img元素被点击 BOOL webView UIWebView webView shouldStartLoadWithRequest NSURLRequest re
  • RxSwift、RxCocoa 和 UITableview

    我在使用 RxSwift 实现 UITableView 时遇到问题 我尝试使用以下代码将模型数组的可观察对象绑定到表项 models bind to self tableView rx items cellIdentifier Cell c
  • 如何确定 UINavigationController 中工具栏的高度?

    我有一个带有由 UINavigationController 呈现的工具栏的视图 当我处理 UIKeyboardWillShowNotification 时 我将整个屏幕向上滚动键盘的高度 问题是当显示键盘时 底部工具栏不显示 所以我只需将
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove

随机推荐

  • 哈希表和键顺序

    有没有办法在添加键时保持哈希表中键的顺序 就像推 弹出机制一样 Example hashtable hashtable Add Switzerland Bern hashtable Add Spain Madrid hashtable Ad
  • C++在什么情况下会将变量初始化为零? [复制]

    这个问题在这里已经有答案了 每个变量在使用之前都应该正确定义和初始化 为其赋值 然而在某些情况下 C 会将变量设置为默认值零 就像下面这个例子 class A static int val int val 10 This is the us
  • 如何使用 jQuery Deferreds 数组? [复制]

    这个问题在这里已经有答案了 我有一个应用程序 要求按特定顺序加载数据 根 URL 然后是架构 最后使用各种数据对象的架构和 url 来初始化应用程序 当用户浏览应用程序时 数据对象将被加载 根据架构进行验证并显示 当用户对数据进行 CRUD
  • python Flask在html页面上显示图像[重复]

    这个问题在这里已经有答案了 我正在尝试传递图像的文件名并将其渲染在模板上 尽管我传递了实际名称 但它不会显示在页面上 app route methods GET POST app route start methods GET POST d
  • 如果在 runAsync 调用之后链接,那么 thenRunAsync(与 thenRun 相对)是否有任何区别?

    在下面的代码中 调用有什么区别吗thenRunAsync 我应该打电话吗thenRun反而 CompletableFuture runAsync this doWork executorService thenRunAsync this h
  • PHP同名变量

    我正在尝试将我用 PHP 制作的登录系统与 PHPBB 登录系统集成 我的问题是我包含了 PHP 登录文档 其中包含一个名为 user但我的登录系统使用 user以及 例如 我的登录函数在名为 user 的类中执行 而 phpbb 登录类是
  • 推荐的拆分 Maven 项目的解决方案?

    在 Maven 中拆分大型企业项目的最佳方式是什么 很容易理解如何像这样垂直划分事物 你有一个 DAO 项目 DAO 项目是一个依赖项 服务项目 Service 项目是一个依赖项 的网络项目 有没有人对 Maven m 中大型项目的分区 拆
  • 并行异步调用时如何获取最大出站请求?

    通过 Fiddler 分析下面的代码 我意识到使用并行扩展我最多可以获得 2 个出站请求 new string http stackoverflow com http superuser com http serverfault com h
  • 对于密集负载应用程序来说,.Net 4.5 中的 async HttpClient 是一个糟糕的选择吗?

    我最近创建了一个简单的应用程序 用于测试可以以异步方式生成的 HTTP 调用吞吐量与经典多线程方法的比较 该应用程序能够执行预定义数量的 HTTP 调用 并在最后显示执行这些调用所需的总时间 在我的测试期间 所有 HTTP 调用都是对我的本
  • 使用函数而不调用模块[重复]

    这个问题在这里已经有答案了 我将 Canopy 与 Jupyter 笔记本一起使用 我想知道是否有一种方法可以使用模块中的函数而无需调用模块 例如 如果我有 import numpy as np print np sin 2 我希望能够只输
  • 可可移动鼠标

    我正在 Snow Leopard 上编写 Mac OS X 应用程序 我有一个由 NSTimer 定期触发的步骤方法 在这种方法中 我想将鼠标移动到屏幕中央 不按下或释放任何按钮 这是我所拥有的 void step NSTimer time
  • Python 的 os.system() 是否等待进程结束?

    The Python手册 http docs python org library os html os system没有提及是否os system cmd 等待或不等待进程结束 引用手册 在子 shell 中执行命令 字符串 看起来它确实
  • 明天的 Wiki 应包含哪些功能? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 明天的 wiki 应该包含哪些功能 他们如何整合 AJAX 等 Web 2 0 功能 他们目前还缺少哪些其他功能 做什么you想查看您最喜欢的 Wik
  • TextView 上的 OnClick 事件停止 CardView 上的 RippleEffect

    我在 CardView 中有一个 TextView 通过添加 OnClick 事件并添加属性来在 CardView 上启用 Lollipop 的涟漪效果时 android foreground android attr selectable
  • 如何使用FastAPI返回JSON格式的数据?

    我在两者中编写了具有相同功能的相同 API 应用程序FastAPI and Flask 但是 当返回 JSON 时 两个框架之间的数据格式不同 两者使用相同的json库 甚至相同的代码 import json from google clo
  • 为什么 PyLint 会警告没有 __init__ ?

    我们有许多似乎不需要的Python类 init 将它们初始化为空是完全可以接受的 甚至是更好的选择 PyLint 似乎认为这是一件坏事 我是否错过了一些关于为什么没有的见解 init 是难闻的气味吗 或者我应该压制这些警告并克服它 你用这些
  • 如何进行C++对齐数组分配?

    我想修改数组分配 float a new float n 使用对齐的分配器 我倾向于尝试使用placement new 和 posix memalign 或新的 c 11 等效项 但请注意数组的新放置对于数组分配来说是有问题的 https
  • 相机意图/活动 - 避免保存到图库

    我正在使用相机活动捕捉照片 我用MediaStore EXTRA OUTPUT额外参数 图像正确保存到提供的路径 也将其保存到图库文件夹 这样我就可以在 图库 应用程序中查看图像 我可以避免这种情况吗 File file new File
  • 哪些 Git 分支模型适合您?

    我们公司目前正在使用简单的主干 发布 修补程序分支模型 并且希望了解哪些分支模型最适合您的公司或开发流程 工作流程 分支模型 以下是我所看到的三个主要描述 但它们部分相互矛盾 或者不足以解决我们遇到的后续问题 如下所述 因此 我们的团队到目
  • AVAudioRecorder - 正确的 MPEG4 AAC 录制设置

    我有一个实时应用程序 估计有 15 的用户报告记录功能不起作用 我们的测试设备上没有发生这种情况 但报告显示问题在于prepareToRecord 返回 否 我无法找到 AAC 格式的示例设置 我的任何设置是否已关闭 应用程序需要 iOS5