【質問】SoundPoolクラスについて

579 views
Skip to first unread message

hareki

unread,
Jul 24, 2014, 3:49:02 AM7/24/14
to android-g...@googlegroups.com
初めて投稿させて頂きます。
以下のエラーでつまづいています。よろしければ、お力をお借りできないでしょうか?

SoundPoolクラスで効果音を連続で鳴らす実装をしています。
Activityを何個かまたぎますが、70回くらい同じ音を鳴らすと、以下のエラーが出て、音が鳴らなくなります。
------------------------------------------------------------------------------------------
AudioFlinger could not create track, status: -12
Error creating AudioTrack
------------------------------------------------------------------------------------------

Androidの対象APIは14以上です。
SoundPoolには他にも2つの音を入れていますが、合計は50KBほどです。
1つ1つの音はoggファイルを使用しており。3秒ほどです。
OOMが発生するでも無く、アプリ自体は問題なく動いています。
対象のActivity生成時にはGCを走らせてもいます。

以上になります。
よろしければ、解答お願いします。

unsolublesugar 星影

unread,
Jul 24, 2014, 8:40:35 AM7/24/14
to android-g...@googlegroups.com
星影です。

使い終わった後にrelease()は呼んでいますか?
http://developer.android.com/reference/android/media/SoundPool.html#release()

70回くらい同じ音を鳴らすと…ということなので、リソースが足りなくなってるんじゃないかなと思いました。
Activityをまたいでいるのであれば、onPauseでrelease呼ぶと良いのかなぁと。


2014年7月24日木曜日 16時49分02秒 UTC+9 hareki:
Message has been deleted

hareki

unread,
Jul 24, 2014, 9:11:16 PM7/24/14
to android-g...@googlegroups.com
星影さん
返信ありがとうございます。

すみません。前提条件で書くべきでしたが。
releaseもonPauseで呼んでいるのです。。。
アプリ自体は落ちてはいないのですが、メモリーリークが結構起きているみたいで、
現在はそれが原因ではないかと思いデバックしています!

2014年7月24日木曜日 16時49分02秒 UTC+9 hareki:

星影

unread,
Jul 24, 2014, 9:43:18 PM7/24/14
to android-g...@googlegroups.com
あ、そうでしたか。これは失礼しました。

どういう実装をされているのかにもよりますが
SoundPoolまわりだと音再生するところで何度もループしてたりすると同様のエラーが出るっぽいです。


ステータスコード12なので、やはりメモリ不足が原因かと思われます。
メモリーリークが結構起きているということですので、SoundPool以外の箇所で抱えるものが大きくなっているのかもしれませんね。


2014年7月25日 10:11 hareki <kihar...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」のトピックを登録しているユーザーに送られています。
このトピックの登録を解除するには https://groups.google.com/d/topic/android-group-japan/pTInj94k4dk/unsubscribe にアクセスしてください。
このグループを退会し、グループのすべてのトピックの登録を解除するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--

──◆ Time to live forever ◆───────────────

星影
E-mail: unsolub...@gmail.com
URL: http://unsolublesugar.com

────────────────────────────

hareki

unread,
Jul 29, 2014, 12:30:19 AM7/29/14
to android-g...@googlegroups.com
星影さん
お返事遅くなり申し訳ありません。

やはり、メモリ不足が原因だったようで。
改善できました。

今後ともよろしくお願いします。

ありがとうございます。

2014年7月25日金曜日 10時43分18秒 UTC+9 unsolublesugar 星影:
このグループを退会し、グループのすべてのトピックの登録を解除するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。

このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

星影

unread,
Jul 29, 2014, 12:41:58 AM7/29/14
to android-g...@googlegroups.com
星影です。

無事に解決できたようで良かったです。

メモリ不足が原因だったということですが、その引き金はどこにあったのでしょうか?
後学のため、差し支えない範囲で教えていただけるとありがたいです。




2014年7月29日 13:30 hareki <kihar...@gmail.com>:
このグループを退会し、グループのすべてのトピックの登録を解除するには android-group-j...@googlegroups.com にメールを送信してください。

このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages