0

メディア プレーヤーのデータ ソースを動的に設定する最善の方法は何だろうか?私は、再生可能なさまざまな mp3 ファイルでいっぱいのスピナーを持っており (現在は約 9 つ)、サウンドを再生する時間を選択するラジオグループも持っています。再生されます (4 つの可能な時間オプション)。

とにかく、多くのスイッチを配置するのではなく、これをより効率的にする方法はありますか.

s1.setOnItemSelectedListener(new OnItemSelectedListener(){   
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)

            {
                int index = arg0.getSelectedItemPosition();
                switch(index)
                {
                case 0: //would be 9 of these, represents the song choices
                    final MediaPlayer md = MediaPlayer.create(MainActivity.this, R.raw.song);
                    int id = rg.getCheckedRadioButtonId();
                    switch(id)
                    {
                    case R.id.radio0: // 4 of these for each song, representing play length
                        btn.setOnClickListener(new View.OnClickListener() {

                            public void onClick(View v) {
                                if (md.isPlaying()) {
                                    md.pause();
                                    btn.setText("Paused");
                                }
                                else {
                                    md.start();
                                    md.setLooping(true);
                                    btn.setText("Playing");
                                    }
                                }});
                        break;
                    }
                }
            }

            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });
4

1 に答える 1

0

ラジオボタンが表す時間を変数に設定し、その時間の後にmediaPlayerを停止するpostDelayedを作成できますか?

    int timeTillStop = 15000;

    Handler handler = new Handler();

    handler.postDelayed(new Runnable() {
          public void run() {
            mp.stop;
          }
       }, timeTillStop );

今、あなたはただ9つの​​音のどれを再生するかを理解する必要がありますか?

于 2012-08-14T02:25:21.237 に答える