[android-group-japan: 4245] 【教えてください】MediaPlayer利用上の制限について

閲覧: 1,324 回
最初の未読メッセージにスキップ

micco

未読、
2010/05/22 4:55:342010/05/22
To: 日本Androidの会
こんにちは。
miccoです。

以下のような形で20個のプレイヤー(sound[])を用意し、ユーザが指定
したものをstart()メソッドで再生するプログラムを作っています。
sound[7]以降のプレイヤーをstart()で再生しても全く鳴らないのですが、
原因が分からず困っております。
sound[0]~sound[6]は再生できます。
また、rawに音源ファイルが入っていることも確認していますし、
sound[0] = MediaPlayer.create(this,R.raw.sound19);
として、sound19.mp3ファイルを最初のプレイヤーに設定してみると再生
してくれますので、ファイルに問題がある訳ではなさそうです。
ファイルは、MP3で1ファイルあたり20KB~100KB程度、全20ファイル
で800KB程度になります。
同時にprepare状態にできるプレイヤーの数量制限等考慮すべき点があ
りましたら、ご教示頂けると幸いです。
書籍やネットを調べてみましたが、関連記事が見つかりませんでした。
よろしくお願いいたします。

===========
private MediaPlayer sound[];
sound = new MediaPlayer[20];
//プレイヤー設定
try
{
//生成
sound[0] = MediaPlayer.create(this,R.raw.sound0);
sound[1] = MediaPlayer.create(this,R.raw.sound1);
sound[2] = MediaPlayer.create(this,R.raw.sound2);
sound[3] = MediaPlayer.create(this,R.raw.sound3);
sound[4] = MediaPlayer.create(this,R.raw.sound4);
sound[5] = MediaPlayer.create(this,R.raw.sound5);
sound[6] = MediaPlayer.create(this,R.raw.sound6);
sound[7] = MediaPlayer.create(this,R.raw.sound7);
sound[8] = MediaPlayer.create(this,R.raw.sound8);
sound[9] = MediaPlayer.create(this,R.raw.sound9);
sound[10] = MediaPlayer.create(this,R.raw.sound10);
sound[11] = MediaPlayer.create(this,R.raw.sound11);
sound[12] = MediaPlayer.create(this,R.raw.sound12);
sound[13] = MediaPlayer.create(this,R.raw.sound13);
sound[14] = MediaPlayer.create(this,R.raw.sound14);
sound[15] = MediaPlayer.create(this,R.raw.sound15);
sound[16] = MediaPlayer.create(this,R.raw.sound16);
sound[17] = MediaPlayer.create(this,R.raw.sound17);
sound[18] = MediaPlayer.create(this,R.raw.sound18);
sound[19] = MediaPlayer.create(this,R.raw.sound19);
}
catch(Exception e)
{
}
//ループ設定
for(i=0;i<20;i++)
{
try
{
sound[i].setLooping(true);
}
catch(Exception e)
{
}
}

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

micco

未読、
2010/05/27 23:58:052010/05/27
To: 日本Androidの会
こんにちは。
miccoです。

どなたのコメントも付いていませんが、まだ解決しておりませんので、何かお
気づきの点がありましたら、ご教示頂ければ幸いです。
特に制限が無いようでしたら、マイPCのエミュレーター固有の問題ということ
かもしれませんが・・・。

鈴木康元

未読、
2010/05/28 0:08:342010/05/28
To: android-g...@googlegroups.com
micco様

 鈴木康元です。私も同じ問題ではまりました^^;
 MediaPlayerは同時再生可能な数に制限があります。
 日本Androidの会 2009年5月のイベントの「Android Game Programing Tips」というpdf資料では
最大4つという情報がありました。
 私のPCのエミュレータはmiccoさんと同じく7つまでしか再生できませんでした。
 ご参考になれば幸いです。

□===========================================□
 ダットジャパン株式会社 E&E事業部
 プログラマー 鈴木 康元(すずきやすはる)
 事業部ホームページ:http://www.ee-datt.com/
□===========================================□

> m にメールを送信してください。
> >
> 詳細については、http://groups.google.com/group/android-group-japan?hl=

> jaからこのグループにアクセスしてください。

micco

未読、
2010/05/28 9:47:502010/05/28
To: 日本Androidの会
こんばんは。
miccoです。

>鈴木さん
コメントありがとうございます。
同時には1つしか再生しておらず、直接的には当てはまってないですが、この手の制限
が何かあるのでしょうかね。。。
同じく7つまでしか再生できなかったということですが、実機では試されていませんか?
私はIS01の発売待ちで、まだ実機で動かしたことがありません。

>みなさん
引き続き情報をお待ちしております。
> > このグループから退会するには、android-group-japan+unsubscr...@googlegroups.co
> > m にメールを送信してください。
>
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=
> > jaからこのグループにアクセスしてください。
>
> > --
> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、android-group-japan+unsubscr...@googlegroups.co
> > m にメールを送信してください。
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=
> > ja からこのグループにアクセスしてください。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

SIA

未読、
2010/05/28 10:38:442010/05/28
To: android-g...@googlegroups.com
こんばんは。
再生していなくてもCreateした状態で置いておきStart待ち
にしていませんでしょうか?
その場合、内部的には0位値のポーズになっている可能性がありま
す。
試しに鳴らす寸前に逐次Createする方式に変えてみてはいかがで
しょうか?

>>>> このグループに投稿するには、android-group-
>>>> ja...@googlegroups.com にメールを送信してください。
>>
>>> このグループから退会するには、android-group-japan
>>> +unsubscr...@googlegroups.co
>>> m にメールを送信してください。
>>
>>> 詳細については、http://groups.google.com/group/android-group-
>>> japan?hl=
>>> jaからこのグループにアクセスしてください。
>>
>>> --
>>> このメールは Google グループのグループ「日本Android
>>> の会」の登録者に送られています。
>>> このグループに投稿するには、android-group-
>>> ja...@googlegroups.com にメールを送信してください。
>>> このグループから退会するには、android-group-japan
>>> +unsubscr...@googlegroups.co
>>> m にメールを送信してください。
>>> 詳細については、http://groups.google.com/group/android-group-
>>> japan?hl=
>>> ja からこのグループにアクセスしてください。- 引用テキス
>>> トを表示しない -
>>
>> - 引用テキストを表示 -
>
> --
> このメールは Google グループのグループ「日本Android
> の会」の登録者に送られています。
> このグループに投稿するには、android-group-
> ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan
> +unsub...@googlegroups.com にメールを送信してください。

micco

未読、
2010/05/29 11:57:202010/05/29
To: 日本Androidの会
こんばんは。
miccoです。

コメントありがとうございます!
最初にcreateした状態で維持し、必要なときにstartを呼び出していますが、
これが同時再生数の制限に該当しているという解釈になるのでしょうか。
鳴らす度にプレイヤーをcreateし、stopしたプレイヤーをreleaseする方式に
すると問題なく再生できます。
そういうもんだと理解して使えば良いだけかもしれませんが、速度的に不利
になりそうなので、念のためお伺いしました。
> > japan?hl=ja からこのグループにアクセスしてください。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -
全員に返信
投稿者に返信
転送
新着メール 0 件