Sample.java
上传用户:tjmskj2
上传日期:2020-08-17
资源大小:577k
文件大小:1k
源码类别:

midi

开发平台:

C/C++

  1. package fluidsynth;
  2. public class Sample
  3. {
  4.     protected int sampleNum = -1;
  5.     protected int rootkey;
  6.     protected String filename;
  7.     public Sample(String filename, int rootkey) throws FluidException {
  8.         sampleNum = newSample(filename, rootkey);
  9.         if (sampleNum < 0) {
  10.             throw new FluidException("Failed to load the sample (err=" + sampleNum + ")");
  11.         }
  12.         this.filename = filename;
  13.         this.rootkey = rootkey;
  14.     }
  15.     protected void finalize() {
  16.         if (sampleNum >= 0) {
  17.             deleteSample(sampleNum);
  18.             sampleNum = -1;
  19.         }
  20.     }
  21.     public int getRootKey() {
  22.         return rootkey;
  23.     }
  24.     public String getFileName() {
  25. return filename;
  26.     }
  27.     int getSampleNum() {
  28. return sampleNum;
  29.     }
  30.     protected native int newSample(String filename, int rootkey);
  31.     protected native void deleteSample(int sampleNum);
  32. }