java - 增加音池持续时间

标签 java android soundpool

所以我有大约 6.5 秒长的声音,当我用 soundpool 播放它时它只播放 5 秒......我尝试使用 mediaplayer 但它对于这种应用程序来说太慢了。 声音池代码:

    SoundPool sp;
    OnCreate
    sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
dub1s = sp.load(this, R.raw.dub1, 1);
Button
    if (dub1s != 0)
            sp.play(dub1s, 1, 1, 0, 0, 1);
    }

最佳答案

尝试使用以下加载函数。

public int load (FileDescriptor fd, long offset, long length, int priority)

第三个参数是声音的长度。 比如说,你正在阅读一个文件

FileInputStream in = new FileInputStream(new File(soundFile));

load() 应该是这样的

sp.load(in.getFD(), start, length, 0);

关于java - 增加音池持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650642/

相关文章:

Java PrintWriter 异常

android - 如何以编程方式放大/缩小 WebView 的内容?

android - 在 SoundPool 播放中使用 String

java - IntelliJ 不会自动更新使用 Maven 编译的库列表

java - Mqtt 客户端 Paho 关闭问题 (Java)

android - datePicker 的问题,标题初始化很奇怪

android - 在 HOME 按钮上完成 android 应用程序单击

Android 在应用程序中加载和播放声音的最快方式

Android,控制背景音的音量

java - 在spring中为@Scheduled注解添加调度器,而不使用xml注解