gpt4 book ai didi

java - Android 交互 - 音乐

转载 作者:行者123 更新时间:2023-12-01 18:42:42 27 4
gpt4 key购买 nike

我正在设计一个 Android 应用程序,需要依次播放各种短音乐文件。

我设置了一个“onClick”监听器来运行一个循环,一遍又一遍地播放这些声音文件,它们可能会播放 100 多次。

但是

我需要用户能够在播放时与应用程序进行交互,但目前无法做到这一点,循环运行并且基本上设备被卡住,直到音乐文件完成播放。

有任何有用的解决方案吗?

循环基本上是:

mPlayButton.setOnClickListener(new View.OnClickListener() {

@Override
public synchronized void onClick(View v) {

for(char i: method.toCharArray()){
mPlayer.play(getActivity(),Integer.parseInt(Character.toString(i)));
try {
wait(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
});

最佳答案

您可以使用在后台播放音乐的服务来做到这一点。

这里有一个关于如何执行此操作的精彩教程:LINK

类似于 this :

当您想播放音乐时启动此:

Intent svc=new Intent(this, BackgroundSoundService.class);
startService(svc);

并在您的项目中创建一个新的服务文件:

public class BackgroundSoundService extends Service {
private static final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {

return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.idil);
player.setLooping(true); // Set looping
player.setVolume(100,100);

}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}

public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}

public void onStop() {

}
public void onPause() {

}
@Override
public void onDestroy() {
player.stop();
player.release();
}

@Override
public void onLowMemory() {

}
}

关于java - Android 交互 - 音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245675/

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