如何使用Swift 3在应用程序中共享音频文件?

时间:2016-12-21 13:19:58

标签: audio share uiactivityviewcontroller uidocumentinteraction ios-sharesheet

在Swift中共享音频文件

如何将应用文档目录中存在的音频文件共享给其他应用?

要详细说明这个问题,我的意思是当用户点按应用中的分享按钮时,他们应该>录制的音频曲目发送给其他人,或者可以将其发送到一系列可以处理音频的其他应用

研究这个话题,我发现:

  • UIActivityViewController
  • UIDocumentInteractionController

由于我的应用程序对他们应该能够共享的人的语音进行录音,并且尽管搜索了堆栈溢出,但我还没有找到一个代码示例,说明如何在Swift中实现此选项应用程序。我可以请求有关如何完成此操作的建议和示例代码。非常感谢,

2 个答案:

答案 0 :(得分:5)

Swift 3.x:

{{1}}

答案 1 :(得分:0)

我的回答是使用UIDocumentInteractionController执行此操作。

我首先在我的类顶部实例化一个UIDocumentInteractionController

var controller = UIDocumentInteractionController()

然后我将IBAction链接到我的笔尖或故事板上的分享按钮:

@IBAction func SHARE(_ sender: Any) {
    let dirPath: String = NSSearchPathForDirectoriesInDomains(.documentDirectory,
                                                      .userDomainMask,
                                                      true)[0]
    let recordingName = UserDefaults.standard.string(forKey: "recordingName")
    let pathArray: [String] = [dirPath, recordingName!]
    let filePathString: String = pathArray.joined(separator: "/")
    controller = UIDocumentInteractionController(url: NSURL(fileURLWithPath: filePathString) as URL)
    controller.presentOpenInMenu(from: CGRect.zero,
                                 in: self.view,
                                 animated: true)     
}