首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在libPd中播放wav文件?

如何在libPd中播放wav文件?
EN

Stack Overflow用户
提问于 2016-07-15 04:07:50
回答 1查看 252关注 0票数 0

我有一个简单的libPd项目。现在,我已经下载了一个.wav文件,我想播放它,而不是我拥有的纯数据文件。

这样做有可能吗?

如果是这样,我该怎么做呢?

这是我的项目:

代码语言:javascript
复制
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();
}
}
EN

回答 1

Stack Overflow用户

发布于 2016-07-18 09:35:57

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

代码语言:javascript
复制
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文件中,然后使用安卓应用程序中的一个按钮,播放该文件。它的示例pd补丁将如下所示:

click to view image

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38383385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档