我已经开始遇到以前没有发生的崩溃,因为记录的初始化有错误:
[avae] AVAEInternal.h:70:_AVAE_Check: required condition is false: [AVAudioIONodeImpl.mm:911:SetOutputFormat: (format.sampleRate == hwFormat.sampleRate)]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它似乎与使用 48k 而不是 44.1k 的采样率有关。但是,就我而言,使用音频引擎,我根本没有设置任何采样率。
我的代码主要是用于记录的样板。崩溃发生在以下行:
inputNode.installTap(onBus: 0, bufferSize: 4096, format: recordingFormat) { (buffer, when) in
print("got here")//never gets here
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议在使用音频引擎进行录音时如何解决这个问题?
感谢您的任何建议。
编辑
这就是我创建记录格式的方式:
let recordingFormat = inputNode.outputFormat(forBus: 0)
Run Code Online (Sandbox Code Playgroud)
这就是调试器中的 RecordingFormat 的样子..它似乎设置为 44.1k:
po recordingFormat
<AVAudioFormat 0x282b1e580: 1 ch, 44100 Hz, Float32>
Run Code Online (Sandbox Code Playgroud)
inputNode 看起来像这样:
po inputNode
<AVAudioInputNode: 0x280a0eb70>
(lldb) p inputNode
(AVAudioInputNode) $R4 = 0x0000000280a0eb70 {
AVFoundation.AVAudioIONode = {
baseAVAudioNode@0 = <extracting data from …Run Code Online (Sandbox Code Playgroud) 尝试从我的应用程序打开 Facebook 时,我收到“此应用程序不允许查询方案 fb”错误。
从 9.0 开始,Apple 显然需要在LSApplicationurl 方案中输入 plist 条目才能实现 canOpenURL 方法。运行 IOS10.3,我在 Plist 中没有看到该LSapplication选项。
Apple 是否更改了 plist 键?在此先感谢您的任何建议。
对于提要视图控制器,我有一个带有一些自定义单元格的表格视图,这些单元格具有用于点赞、评论和分享的按钮,我想根据按下的按钮执行不同的操作。
我最初的想法是简单地将故事板中自定义单元格中的按钮连接到自定义单元格中的操作方法。但是,我对自定义单元格 .m 文件中的方法如何与视图控制器中的 TableView 交互感到困惑。
- (IBAction)likeButtonPressed:(id)sender {
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
//do something
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以澄清是否可以在情节提要中连接单元格中的按钮,以及这如何与视图控制器、cellforrowatindexpath 和 didselectrowatindexpath 上的委托方法一起播放?
或者,如果这不是正确的方法,将不胜感激任何关于更好方法的建议。在此先感谢您的任何建议。
我正在寻找一种方法来检测年份,例如 2019 年。我认为的要求是数字是连续的,有四位数字,并且不与字母或特殊字符相邻。所以我想让方法在以下每种情况下返回“2019”:
\n\n"2019"\n"in 2019\n"Before 2019, all IOS apps were written in one of 2 ways"\nRun Code Online (Sandbox Code Playgroud)\n\n但将其排除在外:
\n\n"1234z20191234\nRun Code Online (Sandbox Code Playgroud)\n\n有很多方法可以检测字符串中的数字,如下所示
\n\nlet newString = origString\n .components(separatedBy:CharacterSet.decimalDigits.inverted)\n .joined(separator: "")\nRun Code Online (Sandbox Code Playgroud)\n\n但他们不会提取每个数字序列来测试长度和邻接性。
\n\n数据检测器可以尝试提取日期,但从可能的日期到起始文本中可能存在的年份似乎容易出错,例如使用以下内容:
\n\n\xe2\x80\x9c2018-08-31 04:00:00 +0000\xe2\x80\x9d, \xe2\x80\x9cAmerica/Los_Angeles\xe2\x80\x9d, 18000.0\nRun Code Online (Sandbox Code Playgroud)\n\n谁能建议一种从字符串中检索数字年份的可靠方法?
\n