【问题标题】:How to play wav file in libPd?如何在 libPd 中播放 wav 文件?
【发布时间】:2016-07-14 20:07:49
【问题描述】:

我有一个简单的 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();
}
}

【问题讨论】:

    标签: android audio wav libpd


    【解决方案1】:

    要加载和播放 wav 文件,您需要将 pd 补丁和 wav 文件压缩到一个 zip 文件中。在您的 java 代码中,您的 zip 文件称为 simplepatch.zip 然后从 zip 文件中打开补丁 simplepatch.pd。

    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 补丁如下所示:

    click to view image

    【讨论】:

    • 嗯...我无法打开 pd 补丁中未包含的文件?
    猜你喜欢
    • 2015-10-06
    • 2010-09-19
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多