[英]How to set a new audio data source for Android MediaPlayer in Kotlin
[英]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.