java音乐bpm,Java Tempo.setBpm方法代码示例
import com.leff.midi.event.meta.Tempo; //导入方法依赖的package包/类
private void createMidiFile(String filename) {
// 1. Create some MidiTracks
MidiTrack tempoTrack = new MidiTrack();
MidiTrack noteTrack = new MidiTrack();
// 2. Add events to the tracks
// 2a. Track 0 is typically the tempo map
TimeSignature ts = new TimeSignature();
ts.setTimeSignature(4, 4, TimeSignature.DEFAULT_METER,
TimeSignature.DEFAULT_DIVISION);
Tempo t = new Tempo();
t.setBpm(228);
tempoTrack.insertEvent(ts);
tempoTrack.insertEvent(t);
// 2b. Track 1 will have some notes in it
// for (int i = 0; i < 80; i++) {
final SheetMusic sheetMusic = mSheetMusicView.getSheetMusic();
final Staff staff = sheetMusic.getPart().getStaff();
int channel = 0;
int pitch = NoteScale.ToNumber(NoteScale.C, 5);
int velocity = 100;
for (MusicalFigure musicalFigure : staff.getMusicalFigures()) {
if (musicalFigure instanceof Measure) {
for (DurationFigure durationFigure : ((Measure) musicalFigure)
.getDurationFigures()) {
final Note note = (Note) durationFigure;
pitch = NoteScale.ToNumber(
Note.Step.getNoteScale(note.getStep()),
note.getOctave());
noteTrack.insertNote(channel, pitch + 1, velocity,
pitch + 1, 480 * durationFigure.getDuration());
}
}
}
// NoteOn on = new NoteOn(i * 480, channel, pitch, velocity);
// NoteOff off = new NoteOff(i * 480 + 120, channel, pitch, 0);
//
// noteTrack.insertEvent(on);
// noteTrack.insertEvent(off);
// There is also a utility function for notes that you should use
// instead of the above.
// noteTrack.insertNote(channel, pitch, velocity, i, 480 * 4);
// }
// It's best not to manually insert EndOfTrack events; MidiTrack will
// call closeTrack() on itself before writing itself to a file
// 3. Create a MidiFile with the tracks we created
ArrayList tracks = new ArrayList();
tracks.add(tempoTrack);
tracks.add(noteTrack);
MidiFile midi = new MidiFile(MidiFile.DEFAULT_RESOLUTION, tracks);
// 4. Write the MIDI data to a file
File output = new File(MusicFileManager.DEFAULT_STORAGE_DIRECTORY
+ filename);
try {
output.createNewFile();
//File output = File.createTempFile(filename, "", new File(
//MusicFileManager.DEFAULT_STORAGE_DIRECTORY));
midi.writeToFile(output);
} catch (IOException e) {
System.err.println(e);
}
}
java音乐bpm,Java Tempo.setBpm方法代码示例相关推荐
- java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例
本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...
- java polygon 用法_Java Polygon.getBounds方法代码示例
import java.awt.Polygon; //导入方法依赖的package包/类 private SelectionShape translatePointsToRealSize(Select ...
- java makedir用法_Java Files.makeDir方法代码示例
import org.nutz.lang.Files; //导入方法依赖的package包/类 protected void download(String openid, String media_ ...
- java args包_Java Args.positive方法代码示例
import org.apache.http.util.Args; //导入方法依赖的package包/类 /** * Creates new instance of BHttpConnectionB ...
- java shape用法_Java PShape.scale方法代码示例
import processing.core.PShape; //导入方法依赖的package包/类 public void updateAnim(){ if(pg_src_small == null ...
- java round指令_Java PApplet.round方法代码示例
import processing.core.PApplet; //导入方法依赖的package包/类 public static final void updatePos() { if(follow ...
- Java 怎么 get char_Java KeyCharacterMap.getDeadChar方法代码示例
import android.view.KeyCharacterMap; //导入方法依赖的package包/类 @Override public boolean onKeyDown(int keyC ...
- java gettext用法_Java Context.getText方法代码示例
import android.content.Context; //导入方法依赖的package包/类 /** * Song Details * * @param context * @param t ...
- java soap封装_Java SOAPMessage.writeTo方法代码示例
import javax.xml.soap.SOAPMessage; //导入方法依赖的package包/类 private byte[] createProbeXML() throws SOAPEx ...
- java set的first_Java Pair.setFirst方法代码示例
import org.apache.hadoop.hbase.util.Pair; //导入方法依赖的package包/类 /** * Checks whether cell contains any ...
最新文章
- 企业网络推广方法之网站内容链接SEO该怎么做?
- 【学习笔记】线段树的数组大小下限及证明
- 猎豹浏览器怎么不能设置背景着颜色护眼?
- cmake Debug模式和Release模式
- 一名全栈工程师的必备“百宝箱”
- java实现动态验证码源代码——jsp页面
- linux删除mysql临时文件_linux下mysql自动备份数据库与自动删除临时文件_MySQL
- 计算字符串距离(信息学奥赛一本通-T1298)
- Using dispatch_async
- wpf messagebox.show()点击其他地方会闪烁_定时、童锁、故障查询,线控器上的这些功能你会用吗?...
- guestfish修改镜像内容
- Slog86_使用Sketch 设计ArthurSlog网站主页原型
- 记一次网络访问故障排查
- IndoorGML 介绍
- c语言中的圆方程,圆的方程练习题及答案
- 云计算给IT产业结构带来的影响
- 制作路由器openwrt安装及配置
- 无头浏览器和抓取-解决方案
- 计算机PPT中项目编号怎么弄,电脑技巧收藏家电脑基础设置幻灯片格式:项目符号和编号...
- DASH标准ABR算法介绍