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

回答編集履歴

1

新たに思いついた問題箇所特定方法を追記

2017/06/03 08:55

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -7,4 +7,7 @@
7
7
  の書かれた部分はおそらく何かのメソッドの一部でしょうか。
8
8
  ステップ実行では音が鳴る、ということは、通常実行時にはすぐにそのメソッドの実行が終了してしまい(playは再生終了を待たずに次の行へ実行を進めてしまう)、音が鳴り終わる前にAVAudioPlayerが解放されてしまっている可能性があります。
9
9
  少なくとも音を鳴らし終わるまではAVAudioPlayerが生き残るように修正する必要があるかと思います。ADをローカル変数からインスタンス変数に移すのが手軽でしょうが(参考:[SwiftでAVAudioPlayerを使ってサウンドファイルを再生する - xykのブログ](http://xyk.hatenablog.com/entry/2017/02/21/110103))、色々な音を重ねて鳴らそうとする場合は少々工夫が必要かと思います。
10
- Objective-Cに関する記事ですが、[ARC環境下でAVAudioPlayerを使い柔軟かつシンプルにサウンドを再生する方法 - Qiita](http://qiita.com/yuky_az/items/085e30c159cafa8dac1c)などは参考になりますでしょうか。
10
+ Objective-Cに関する記事ですが、[ARC環境下でAVAudioPlayerを使い柔軟かつシンプルにサウンドを再生する方法 - Qiita](http://qiita.com/yuky_az/items/085e30c159cafa8dac1c)などは参考になりますでしょうか。
11
+
12
+ [追記]
13
+ 効果音、とのことで短い音を想像しましたが、もしそうでしたら、その効果音の代わりにある程度長い曲を流して、その状態でステップ実行してみる...なんていうのはどうでしょう。曲が途中で止まるかどうかで問題箇所を絞り込めるかもしれません。