質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

1137閲覧

FirebaseのStorageに保存したデータを再生できるようにしたいです。(Swift)

masa__masa

総合スコア0

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/05/21 16:39

前提・実現したいこと

Swift初心者です。

Firebaseを使用して、Swiftでアプリを作成おります。
実現したいことは、Storageに保存した音声データ(.m4a)を再生できるようにしたいです。
Storageに保存するところまでは出来ているのですが、再生するところでつまづいております。

発生している問題・エラーメッセージ

Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"

該当のソースコード

import UIKit import Firebase import AVFoundation class PostTableViewCell: UITableViewCell, AVAudioRecorderDelegate, AVAudioPlayerDelegate { var audioPlayer: AVAudioPlayer! var isPlaying = false var voiceURL:URL? override func awakeFromNib() { super.awakeFromNib() } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) } func setPostData(_ postData: PostData) { let voiceRef = Storage.storage().reference().child(Const.VoicePath).child(postData.id + ".m4a") voiceRef.downloadURL { url, error in if let error = error { } else { self.voiceURL = url } } } @IBAction func playButtonTapped(_ sender: Any) { if !isPlaying { audioPlayer = try! AVAudioPlayer(contentsOf: voiceURL!) audioPlayer.delegate = self audioPlayer.play() isPlaying = true }else{ audioPlayer.stop() isPlaying = false } } }

エラーが出ている箇所

audioPlayer = try! AVAudioPlayer(contentsOf: voiceURL!)

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukubaDepot

2020/05/22 05:17

前提として、Storage上に置かれたファイルは再生可能なデータでしょうか。 たとえば、Storageからダウンロードするのではなく、Bundleに含めて再生した場合も正しく再生されるのは確認済みでしょうか。 また、AVAudioPlayerをtry! で呼び出すのではなく、do-try-catchで呼び出して、失敗したときにエラ〜メッセージを表示させると、解決のためのいとぐちが見つかりそうに思えます。
masa__masa

2020/05/22 07:45

ありがとうございます!試してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問