小编ram*_*d42的帖子

AudioTrack只播放一次音频

我正在开发一个Android程序,需要以非常精确的时间(音乐程序)重复播放音频文件.

我正在使用"AudioTrack",它正在从WAV样本中加载PCM数据.

这是我正在测试此功能的代码.它只是循环,直到它播放样本的时间,然后播放它,并重复这8次.

这是我正在使用的代码,如果您需要了解更多,请告诉我们:

class Sequencer {
    private final double BPM = 120;
    private final double BPMS = (BPM / 60 / 1000);
    private long QUARTER_NOTE_DELAY = (long)(1/BPMS);

    private final int PCM_BYTE_OFFSET = 44;

    private long lastTick;
    private long now = 0;

    private int sampleRate = 8000;
    private int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_STEREO;
    private int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
    private int bufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, audioFormat)*5;

    private AudioTrack playbackBuffer = new AudioTrack(AudioManager.STREAM_MUSIC,sampleRate,
            channelConfig,audioFormat,bufferSize,AudioTrack.MODE_STATIC);;

    private byte[] pcmArray;

    public Sequencer()
    {
        Log.d("AudioTrack", "BUFFER SIZE: …
Run Code Online (Sandbox Code Playgroud)

java audio android

5
推荐指数
1
解决办法
1439
查看次数

标签 统计

android ×1

audio ×1

java ×1