簡體   English   中英

如何動態設置mediaplayer源?

[英]How to dynamically set mediaplayer source?

我想知道動態設置媒體播放器數據源的最佳方法是什么?我有一個可以播放不同mp3文件的微調器(當前大約9個左右),我還有一個無線電組來選擇聲音應該播放的時間播放(4種可能的時間選項)。

無論如何,有沒有比設置很多開關更有效的方法,可以選擇9首歌曲(一次一首)並以4種不同的長度播放,所以似乎很難擁有所有這些switch語句。

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

            }
        });

好的,您可以在單選按鈕表示的時間量中設置一個變量,然后創建一個postDelayed以在該時間量后停止mediaPlayer嗎?

    int timeTillStop = 15000;

    Handler handler = new Handler();

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

現在您只需要確定要播放的9種聲音中的哪一種?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM