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

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

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

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

Q&A

解決済

1回答

969閲覧

関数が呼ばれたら音楽を鳴らしたい

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

0クリップ

投稿2018/01/24 12:52

前提・実現したいこと

プログラミング始めたばっかりの初心者なので、失礼なことをするかと思いますが何卒よろしくお願いします
alert関数が呼ばれたら音楽(8524.mp3)を鳴らしたいです

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

Thread 8: EXC_BAD_ACCESS(code=1,address=0×48)

該当のソースコード

swift

1import UIKit 2import AudioToolbox 3import AVFoundation 4 5class ViewController: UIViewController { 6 7 var player:AVAudioPlayer = AVAudioPlayer() 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 // Do any additional setup after loading the view, typically from a nib. 12 13 myLabel.text = getNowTime() 14 _ = Timer.scheduledTimer(timeInterval: 60, target: self, selector: #selector(ViewController.update(_:)), userInfo: nil, repeats: true) 15 16 audioPlayerDif() 17 } 18 19 override func didReceiveMemoryWarning() { 20 super.didReceiveMemoryWarning() 21 // Dispose of any resources that can be recreated. 22 } 23 24 @IBOutlet weak var myLabel: UILabel! 25 @IBOutlet weak var myDPvar: UIDatePicker! 26 27 private var tempTime: String = "00:00" 28 private var setTime: String = "00:00" 29 30 @IBAction func myDPFunc(_ sender: Any) { 31 print("test: myDP moved!") 32 let format = DateFormatter() 33 format.dateFormat = "HH:mm" 34 tempTime = format.string(from: myDPvar.date) 35 } 36 37 @IBAction func myButtonFunc(_ sender: Any) { 38 setTime = tempTime 39 print("test: myButton Pushed!") 40 } 41 42 func getNowTime()-> String { 43 let nowTime: Date = Date() 44 let format = DateFormatter() 45 format.dateFormat = "HH:mm" 46 let nowTimeStr = format.string(from: nowTime as Date) 47 return nowTimeStr 48 } 49 50 @objc func update(_: Timer) { 51 let str = getNowTime() 52 myLabel.text = str 53 myAlarm(str: str) 54 } 55 56 func myAlarm(str: String) { 57 if str == setTime{ 58 alert() 59 } 60 } 61 62 func alert() { 63 let myAlert = UIAlertController(title: "alert", message: "ring ding", preferredStyle: .alert) 64 AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate)) 65 DispatchQueue.global(qos: .background).async {self.player.play()} 66 let myAction = UIAlertAction(title: "dong",style: .default) { 67 action in print("foo!!") //test 68 } 69 myAlert.addAction(myAction) 70 present(myAlert, animated: true,completion: nil) 71 72 } 73 74 // 音楽コントローラ AVAudioPlayerを定義 75 func audioPlayerDif() { 76 // 音声ファイルのパスを定義 ファイル名、拡張子を定義 77 _ = Bundle.main.path(forResource: "8524", ofType: "mp3")! 78 79 } 80 81}

試したこと

playerに曲データが紐付いておらずインスタンスを生成するとあるのですが、よくわかりません

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

swift xcode

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

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

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

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

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

guest

回答1

0

ベストアンサー

すいません、自己解決しました。
新しくインスタンスとパスを作り直すことでエラーをはかずに通ることができました。

投稿2018/01/24 17:18

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問