我對android非常陌生,所以請原諒我的無知或無能。使用索引播放基於數組元素的聲音
我基本上試圖創建一個應用程序,通過在TextView上使用setText顯示隨機說法,從數組中獲取數據。然後我希望能夠匹配,併爲這個說法播放適當的音頻。
我會認爲這是通過查找數組中元素的索引並指定一個值使其與音頻文件匹配來完成的。
希望有道理!謝謝。
這是我到目前爲止有:
public class Sayings extends Activity implements OnClickListener {
MediaPlayer mp;
String[] sayings = {"Saying1", "Saying2", "Saying3", "Saying4", "Saying5"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sayings);
Button btnRandom = (Button) findViewById(R.id.random_button);
Button btnNext = (Button) findViewById(R.id.next_button);
Button btnBack = (Button) findViewById(R.id.back_button);
btnRandom.setOnClickListener(this);
btnNext.setOnClickListener(this);
btnBack.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sayings, menu);
return true;
}
@Override
public void onClick(View v) {
int resId = 0;
switch (v.getId()) {
case R.id.random_button:
RandomSaying();
resId = R.raw.saying1;
break;
case R.id.next_button:
NextSaying();
break;
case R.id.back_button:
BackSaying();
break;
}
if (mp != null) {
mp.release();
}
mp = MediaPlayer.create(this, resId);
mp.start();
}
public void RandomSaying() {
String randomSaying = (sayings[new Random().nextInt(sayings.length)]);
TextView sayingsTextView = (TextView) findViewById(R.id.displaySayings);
sayingsTextView.setText('"' + randomSaying + '"');
}
當你運行該代碼你怎麼獲得? – Turkish 2014-09-02 20:53:27
目前它適用於生成隨機說法。無論TextView中出於測試目的什麼,我只會將它設置爲播放指定的「Saying1」。 – 2014-09-02 21:03:15