1

swiftで書かれたiOSアプリケーションでオーディオファイルを共有する方法。 (共有すると、ユーザーがオーディオを録音した後に共有ボタンを押すと、オーディオファイルを誰かにメールするか、またはサウンドクラウドアプリなどに置くことができます)Swift 3を使用してアプリケーションでオーディオファイルを共有するにはどうすればよいですか?

これを達成するために以下を使用できますか?

  • UIActivityViewController
  • UIDocumentInteractionController

私のアプリケーションは、彼らが共有することができるはず者の音声録音になりますが、私は検索し、検索とのコード例を見つけることができませんでしたどのようにこれを行う(まだ私はそれが可能であることを知っている)。

答えて

0

まず、共有は我々がUIDocumentInteractionControllerのための宣言を置く場所を取るためにであるビューコントローラクラスの最上部にある:

//クラスの上部には、あなたが

var controller = UIDocumentInteractionController() 
を置きます

//次に、このようなあなたの下のバーの何かで共有ボタンをIBActionをリンクアップ:

@IBAction func SHARE(_ sender: Any) { 
let dirPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask, true)[0] as String 
    // Here we've used user defaults to store the name of an audio recording, but you could use a variable 
    let recordingName = UserDefaults.standard.value(forKey: "recordingName") as! String 
    let pathArray = [dirPath, recordingName] as [String] 
    let filePathString: String = pathArray.joined(separator: "/") as String 
    var path = Bundle.main.path(forResource: filePathString as! String?, ofType: "wav") 

    controller = UIDocumentInteractionController(url: NSURL(fileURLWithPath: filePathString as! String) as URL) 

    let button = sender as! Any 
    let view = self.view 
    controller.presentOpenInMenu(from: CGRect.zero, in: self.view, animated: true)  
} 
3

スウィフト3.xの:

 let activityItem = URL.init(fileURLWithPath: Bundle.main.path(forResource: "fileName", ofType: "mp3")!) 

     let activityVC = UIActivityViewController(activityItems: [activityItem],applicationActivities: nil) 
     activityVC.popoverPresentationController?.sourceView = self.view 

     self.present(activityVC, animated: true, completion: nil) 
関連する問題