2017-10-24 19 views
3

WhatsAppでオーディオ(.mp3)ファイルを共有したいと思います。私はUIActivityViewControllerを使用しましたが、mp3ファイルを共有するだけではファイルをリンクしません。ファイルをWhatsAppにどのように共有できますか? コードがあります:Swift 4 Whatsappでオーディオ共有

@IBAction func playTusu(_ sender: Any) { 
    let url = URL(string: "https://freesound.org/data/previews/405/405511_2731495-lq.mp3")! 
    let playerItem = CachingPlayerItem(url: url) 

    playerItem.delegate = self 

    player = AVPlayer(playerItem: playerItem) 
    player.automaticallyWaitsToMinimizeStalling = false 
    player.play() 

} 

@IBAction func paylas(_ sender: Any) { 
    let url: [Any] = ["https://freesound.org/data/previews/405/405511_2731495-lq.mp3"] 
    let avc = UIActivityViewController(activityItems: url, applicationActivities: nil) 
    self.present(avc, animated: true) 
} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

ありがとうございました。

+0

まず、mp3データをダウンロードしてアプリにローカルに保存し、UIDocumentInteractionControllerを使用してWhatsAppと共有する必要があります –

+0

うん、mp3データをダウンロードするにはどうすればいいですか? –

+0

ここに完全な例https://stackoverflow.com/a/46457518/2303865 –

答えて

1

paylas機能では、Stringを共有しようとしていますが、実際にはURLである必要があります。 How do I share an Audio File in an App using Swift 3?

@IBAction func paylas(_ sender: Any) { 
    let url: [Any] = [audioFileURL] 
    let avc = UIActivityViewController(activityItems: url, applicationActivities: nil) 
    self.present(avc, animated: true) 
} 

更新

質問は、あなたがファイルを持っていますが、音声のみのURLを持っていることを述べている:質問もここで回答されています。

@Leo Dabusがコメントに記載したように、オーディオをダウンロードしてからファイルを作成する必要があります。このSOの質問Download mp3 fileを見てください。また、オーディオがダウンロードされるまで待つ必要があります。その後、ファイルを共有することができます。 UI /メインスレッドで必ず実行してください。

+0

私は同じ問題を試みました。それはただのリンクをもう一度送る。 –

+0

答えを更新しました。 – Yannick

+0

あなたの答えに追加されたこの情報がどこから来たのかを少なくとも触れておかなければなりません –

関連する問題