gpt4 book ai didi

android - 如何在libPd中播放WAV文件?

转载 作者:行者123 更新时间:2023-12-03 00:38:03 24 4
gpt4 key购买 nike

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

最佳答案

要加载和播放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

关于android - 如何在libPd中播放WAV文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com