【问题标题】:Where is the file of the recording located on the iPhone SpeakHere example?iPhone SpeakHere 示例中的录音文件在哪里?
【发布时间】:2011-02-10 15:09:48
【问题描述】:

就这么简单。

当您使用 SpeakHere 示例时,它应该在 iPhone 上的某处创建一个包含录音数据的文件。

有人知道我怎么能找到这个吗?

谢谢!


编辑 1

明确地说,我想在我的应用程序中对 wav 文件进行操作。我有一些代码需要 wav 文件的 URL。 SpeakHere 示例中的内容是什么? (请记住,这一切都在同一个应用程序中)。


编辑 2

我很欣赏@sudo rm -rf 的建议,但我真的很想坚持使用 SpeakHere 示例,因为它很好地满足了我的目的。您是否查看过 AQRecorder.mm 中的 mRecordFile 变量?会这样吗?

【问题讨论】:

  • 应该保存到Documents目录下,我查一下。

标签: iphone c audio core-audio wav


【解决方案1】:

好吧,我尝试了这个应用程序,它看起来甚至没有将它保存到磁盘(它应该在 Documents 目录中);我不确定它是如何握住它的。也许在记忆中?无论如何,如果我是你,我不会使用该示例代码来录制音频。它适用于 iOS 2,并且已经过时了。尝试访问THIS 问题并阅读有关如何使用AVAudioRecorder 的信息。


编辑: 找到将音频文件保存到recordedFile.caf 的位置。但是,它将它保存到一个临时目录。因此,要访问它,您需要使用:

recordFilePath = (CFStringRef)[NSTemporaryDirectory() stringByAppendingPathComponent: @"recordedFile.caf"];
    player->CreateQueueForFile(recordFilePath);

【讨论】:

  • 您的编辑看起来很棒!所以我假设我可以将 recordFilePath 作为参数传递给需要文件名称和位置的函数?
  • 啊!我刚刚在 SpeakHereController.mm 中找到了它!干得好!
  • @Eric:是的,我相信这就是你能做的。在这种情况下,player 是一个 AQPlayer 对象。顺便说一句,上面的代码来自SpeakHereController.mm编辑: 哎呀,你打败了我。 :)
【解决方案2】:

应用只能将数据存储在它自己的沙箱中。这意味着,它存储在您的示例应用程序的包中,并且不能被任何其他应用程序读取,除了示例应用程序。

【讨论】:

  • örn,请看我的第一个编辑。
  • 谢谢,sudo rm -rf 的评论应该是对的。因为它不能保存到其他目录(除了你的应用程序的 tmp 目录)
猜你喜欢
  • 1970-01-01
  • 2010-12-20
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多