- ベストアンサー
iPhoneアプリで短い音を連続で鳴らす方法について
- iPhoneアプリで0.1秒毎に音を連続して鳴らす方法に悩んでいます。
- フリーの音源を使用して音を鳴らす処理を実装しましたが、0.1秒よりも短い時間間隔で連続して鳴らすことができません。
- 音を短くカットする方法も試しましたが、うまくいきません。効果的な解決策を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ただ、どうしてSystemSoundIDでは連続再生ができないのかが不明です…。 結論は、単純にそういう機能を付けなかったから。 背景には「一般的なアプリに、連続再生機能は不要」という思想があるからでしょう。 SystemSoundやAVAudioPlayerは、 とにかく簡単に使えるように機能を削り、複雑な動きを隠蔽しているので、 それぞれできないことはたくさんあります。 https://developer.apple.com/jp/devcenter/ios/library/documentation/CoreAudioOverview.pdf
その他の回答 (1)
- onosuke
- ベストアンサー率67% (310/456)
iPhoneに限った話ではありませんが… 一番簡単なのは、 例えば5秒間処理を続ける場合、 0.1秒毎に音が鳴る5秒の曲を無音状態も含めて作成してください。 さらにiOSでループが必要なら、 AVAudioPlayer Classを使うのが簡単だと Appleの中の人が言っています。 https://www.google.co.jp/search?q=ios+AVAudioPlayer iOSで、もっと楽器を鳴らすように自由な制御を行う場合 OpenALやAudioQueue Classが必要です。 ただし、プログラミングの難易度は格段に上昇します。 https://www.google.co.jp/search?q=ios+audio+queue
お礼
onosuke様 ご回答ありがとうございます。AVAudioPlayerを使う事で実現することができました。 音を再生する方法は一つだけだと思っていたので盲点でした。 ただ、どうしてSystemSoundIDでは連続再生ができないのかが不明です…。あんまり深く考えても仕方が無いのですが、もしかしたらご存知の方がいらっしゃるかもしれないので、もう少し質問を開かせていただきます。
お礼
onosuke様 ご回答ありがとうございます。背景があるのであろうということで了解しました。 そこらへんも分からないと、今回のように戸惑ってしまいそうですね。教えていただいた資料など、アップルのものを参考にしてこれから開発したいと思います。 ありがとうございました!