Shell 使用壳牌公司的Processing-3.2.2
伙计们,我正在进行音频可视化工作,并在pde中成功创建了一个运行文件。代码获取一个“input.mp3”,然后导出.mp4文件。我们可以通过终端(.sh)使用它吗?我的意思是,通过编写一些命令,它执行程序。比如:Shell 使用壳牌公司的Processing-3.2.2,shell,audio,video,terminal,processing,Shell,Audio,Video,Terminal,Processing,伙计们,我正在进行音频可视化工作,并在pde中成功创建了一个运行文件。代码获取一个“input.mp3”,然后导出.mp4文件。我们可以通过终端(.sh)使用它吗?我的意思是,通过编写一些命令,它执行程序。比如: processing-3.2.2 filename.pde input.mp3 它会生成输入的视频.mp3。这是我的密码: import ddf.minim.*; import ddf.minim.analysis.*; import com.hamoid.*; Minim min
processing-3.2.2 filename.pde input.mp3
它会生成输入的视频.mp3。这是我的密码:
import ddf.minim.*;
import ddf.minim.analysis.*;
import com.hamoid.*;
Minim minim;
AudioPlayer player;
AudioMetaData meta;
BeatDetect beat;
VideoExport videoExport;
int r = 200;
float rad = 70;
void setup()
{
size(600, 600);
//size(600, 400);
minim = new Minim(this);
player = minim.loadFile("son_final.mp3");
meta = player.getMetaData();
beat = new BeatDetect();
videoExport = new VideoExport(this, "basic.mp4");
player.loop();
//player.play();
background(-1);
noCursor();
}
void draw()
{
float t = map(mouseX, 0, width, 0, 1);
beat.detect(player.mix);
fill(#1A1F18, 20);
noStroke();
rect(0, 0, width, height);
translate(width/2, height/2);
noFill();
fill(-1, 10);
if (beat.isOnset()) rad = rad*0.9;
else rad = 70;
ellipse(0, 0, 2*rad, 2*rad);
stroke(-1, 50);
int bsize = player.bufferSize();
for (int i = 0; i < bsize - 1; i+=5)
{
float x = (r)*cos(i*2*PI/bsize);
float y = (r)*sin(i*2*PI/bsize);
float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize);
float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize);
line(x, y, x2, y2);
}
beginShape();
noFill();
stroke(-1, 50);
for (int i = 0; i < bsize; i+=30)
{
float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize);
float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize);
vertex(x2, y2);
pushStyle();
stroke(-1);
strokeWeight(2);
point(x2, y2);
popStyle();
}
endShape();
if (flag) showMeta();
videoExport.saveFrame();
}
void showMeta() {
int time = meta.length();
textSize(50);
textAlign(CENTER);
text( (int)(time/1000-millis()/1000)/60 + ":"+ (time/1000-millis()/1000)%60, -7, 21);
}
boolean flag =false;
void mousePressed() {
if (dist(mouseX, mouseY, width/2, height/2)<150) flag =!flag;
}
void keyPressed() {
if(key==' ')exit();
if(key=='s')saveFrame("###.jpeg");
}
导入ddf.minim.*;
进口ddf.微量分析。*;
导入com.hamoid.*;
极小极小;
音频播放器;
音频元数据元;
拍子检测拍子;
视频输出视频输出;
int r=200;
浮动半径=70;
无效设置()
{
大小(600600);
//大小(600400);
最小值=新的最小值(本);
player=minim.loadFile(“son_final.mp3”);
meta=player.getMetaData();
beat=新的BeatDetect();
videoExport=新的videoExport(这是“basic.mp4”);
player.loop();
//player.play();
背景(-1);
noCursor();
}
作废提款()
{
float t=map(mouseX,0,width,0,1);
拍。检测(播放器。混音);
填充(#1A1F18,20);
仰泳();
矩形(0,0,宽度,高度);
平移(宽度/2,高度/2);
noFill();
填充(-1,10);
如果(beat.isOnset())rad=rad*0.9;
否则rad=70;
椭圆(0,0,2*rad,2*rad);
冲程(-1,50);
int bsize=player.bufferSize();
对于(int i=0;i 如果(dist(mouseX,mouseY,width/2,height/2)不能从命令行或脚本运行.pde
文件
但是您可以将.pde
文件转换为Java应用程序,然后像运行任何其他Java应用程序一样运行该Java应用程序
第一步,从处理编辑器转到导出应用程序…
,弹出导出选项窗口。在那里设置选项(可能会播放一段时间以查看每个选项的作用),然后单击导出按钮
这将把应用程序导出到您的草图目录中。该应用程序将为您提供各种.java
和.jar
文件,您可以将它们用作java应用程序
从这里开始,只需像运行任何其他
.jar
文件一样运行.jar
文件。嘿@KevinWorkman我尝试了导出选项,它确实导出了文件。但是我得到的文件太多了。我怎么知道在脚本中运行哪个文件呢?@PradhvanBisht你需要所有的文件。你应该运行.jar
或.java
文件,该文件包含草图的名称,您可以将其余部分添加到类路径中。从脚本中选择-cp
。