teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントへの回答追記

2018/08/09 15:53

投稿

razuma
razuma

スコア1313

answer CHANGED
@@ -4,4 +4,12 @@
4
4
  (タイマーで15分待ちながら作っていないことを祈ります)
5
5
 
6
6
  おそらくは「1.mp3」と言うファイルの音を鳴らしたいのかなと思いますが、audioPlayerには何もセットされていない状態なのでエラーが出ているのだと思われます。
7
- 参考サイトを見て音の鳴らし方でわからない部分があればコメントください。
7
+ 参考サイトを見て音の鳴らし方でわからない部分があればコメントください。
8
+
9
+ コメントへの回答追記:
10
+ 音を鳴らすために使っているメソッド、`play(atTime:)`はAPIリファレンスを確認すると、指定時間に音を鳴らすメソッドとなっています。その指定時間はデバイス時間を基準に設定する必要があると言うメソッドです。
11
+ [play(atTime:)](https://developer.apple.com/documentation/avfoundation/avaudioplayer/1389324-play)
12
+ 今回はタイマーを使って時間の指定をしているので、音を鳴らすメソッドの方では再生させる時間を指定する必要はなく、すぐに鳴らしてやれば良いと思うので素直に`play()`を使うと音が出ると思います。
13
+ ちなみに`play(atTime:)`を使いたい場合には例えば
14
+ `self.audioPlayer.play(atTime:audioPlayer.deviceCurrentTime + 10)`
15
+ こんな風に設定してやると呼ばれた10秒後に音がなり始めます。