gpt4 book ai didi

android - 如何在弦乐选择中播放不同的声音?

转载 作者:行者123 更新时间:2023-12-02 23:57:37 25 4
gpt4 key购买 nike

首先,我昨天开始使用Android编程。我正在制作一个String,在每个选择中我都想播放不同的声音。好的,我有一个,但是在另一个选择中播放相同的声音,因为我不知道该怎么做。也许有不同情况的开关?谢谢
现在我有此代码。

import android.app.ListActivity;    
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class sonidos extends ListActivity {
public String[] frases = {
"cake",
"butter",
"apple",

};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, frases));
}
public void onListItemClick(ListView parent, View v){
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
setContentView(R.layout.sonidos);
}
public void onListItemClick(ListView parent, View v, long id){
MediaPlayer sound = MediaPlayer.create(sonidos.this, R.raw.dtrain);
if (sound.isPlaying()) {
sound.stop();
} else {
try {
sound.start();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
}
}

最佳答案

如果您使用assets文件夹中的声音,则可以使用以下内容:

public void onListItemClick(ListView parent, View v, long id){
MediaPlayer player = new MediaPlayer();
AssetFileDescriptor afd;
try {
switch(id)
{
case 1: afd = getAssets().openFd("cake.mp3"); break;
case 2: afd = getAssets().openFd("butter.mp3"); break;
default : afd = getAssets().openFd("apple.mp3"); break;
};
player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
player.prepare();

} catch (IOException e) {
e.printStackTrace();
SM.Exception("## Exception playing sound!");
}

if (player.isPlaying()) {
player.stop();
}
else {
try {
player.start();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
}

希望这可以帮助。

关于android - 如何在弦乐选择中播放不同的声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13246438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com