gpt4 book ai didi

android - 预加载声音效果

转载 作者:行者123 更新时间:2023-12-03 02:24:43 27 4
gpt4 key购买 nike

我正在使用计数器(感谢您的帮助),并且使用MediaPlayer添加了声音,问题是加载计数器存在延迟,因为声音是在同一类上加载的。

有没有一种使用主类预加载声音的方法,那么,当调用计数器时,数字将被缓冲并可以从此类中调用?

该应用程序具有启动屏幕,唯一的目的是加载其他类所需的任何内容,以避免延迟。

如果无法从另一个类加载声音,是否可以在播放时分别加载?

这是我到目前为止所拥有的...

final boolean sound = timer_sound.getBoolean("timer_sound", true);

final MediaPlayer number01 = MediaPlayer.create(this, R.raw.number_1);
final MediaPlayer number02 = MediaPlayer.create(this, R.raw.number_2);
final MediaPlayer number03 = MediaPlayer.create(this, R.raw.number_3);
final MediaPlayer number04 = MediaPlayer.create(this, R.raw.number_4);
final MediaPlayer number05 = MediaPlayer.create(this, R.raw.number_5);
final MediaPlayer number06 = MediaPlayer.create(this, R.raw.number_6);
final MediaPlayer number07 = MediaPlayer.create(this, R.raw.number_7);
final MediaPlayer number08 = MediaPlayer.create(this, R.raw.number_8);
final MediaPlayer number09 = MediaPlayer.create(this, R.raw.number_9);
final MediaPlayer number10 = MediaPlayer.create(this, R.raw.number_10);
final MediaPlayer number15 = MediaPlayer.create(this, R.raw.number_15);
final MediaPlayer number20 = MediaPlayer.create(this, R.raw.number_20);

lastSeconds = (TextView) findViewById(R.id.lastminuteseconds);

lastMinute = new CountDownTimer(60 * 1000, 1000) {

public void onTick(long secondsToStart) {
int elapseTime = (int) (secondsToStart / 1000);

if (sound == true){
switch(elapseTime) {
case 1: number01.start();break;
case 2: number02.start();break;
case 3: number03.start();break;
case 4: number04.start();break;
case 5: number05.start();break;
case 6: number06.start();break;
case 7: number07.start();break;
case 8: number08.start();break;
case 9: number09.start();break;
case 10: number10.start();break;
case 15: number15.start();break;
case 20: number20.start();break;
}
}

这几乎可以正常工作,问题是加载文件有2秒的延迟,我想添加更多(50、40、30)。

最佳答案

您的方法似乎非常浪费。您应该加载第一个声音,并在播放时触发下一个声音的加载,因此在任何时候您都只在RAM中缓存两个声音(当前和下一个)。

因此,您仅预加载第一个声音,然后在ontick()中通过run()播放当前声音时触发下一个声音的加载,并将声音对象交换为下一个ontick()。

关于android - 预加载声音效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6738184/

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