Как воспроизвести WAV-файл в libPd

У меня есть простой проект libPd. Теперь я скачал WAV-файл и хочу воспроизвести его вместо чистого файла данных, который у меня есть. это возможно сделать? Если это так, как я могу это сделать?

Это мой проект:

public class MainActivity extends AppCompatActivity {

private Button kickButton, bassButton;
private PdUiDispatcher dispatcher;
private boolean isClicked;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    kickButton = (Button) findViewById(R.id.kickButton);
    bassButton = (Button) findViewById(R.id.bassButton);

    int sampleRat = AudioParameters.suggestSampleRate();
    try {
        PdAudio.initAudio(sampleRat,0,2,8,true);
        dispatcher = new PdUiDispatcher();
        PdBase.setReceiver(dispatcher);

        File dir = getFilesDir();
        IoUtils.extractZipResource(getResources().openRawResource(R.raw.simplepatch),dir,true);
        File pdPatch = new File(dir, "simplepatch.pd");
        PdBase.openPatch(pdPatch.getAbsolutePath());

    } catch (IOException e) {
        e.printStackTrace();
    }



    kickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            isClicked = !isClicked;

            float val = (isClicked) ? 1.0f : 0.0f;
            PdBase.sendFloat("onOff", val);
        }
    });

}

@Override
protected void onResume() {
    super.onResume();
    PdAudio.startAudio(this);
}

@Override
protected void onPause() {
    super.onPause();
    PdAudio.stopAudio();
}
}

Thaks!!

1 ответ

Чтобы загрузить и воспроизвести wav-файл, вам нужно сжать ваш pd-патч и wav-файл в один zip-файл. В вашем java-коде ваш zip-файл называется simplepatch.zip, а затем вы открываете патч simplepatch.pd из zip-файла.

File dir = getFilesDir();
IoUtils.extractZipResource(getResources().openRawResource(R.raw.simplepatch),dir,true);
File pdPatch = new File(dir, "simplepatch.pd");
PdBase.openPatch(pdPatch.getAbsolutePath());

Все, что вам нужно сделать, это поместить wav-файл в файл simplepach.zip, а затем, используя кнопку в приложении для Android, воспроизвести файл. Пример патча pd для него будет выглядеть так:

нажмите, чтобы посмотреть изображение

Другие вопросы по тегам