我有一个简单的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();
}
}发布于 2016-07-18 09:35:57
要加载和播放wav文件,您需要将pd补丁和wav文件压缩为一个zip文件。在java代码中,压缩文件名为simplepatch.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文件中,然后使用安卓应用程序中的一个按钮,播放该文件。它的示例pd补丁将如下所示:
click to view image
https://stackoverflow.com/questions/38383385
复制相似问题