声明:未经允许禁止转载
---------------------------
此算法采用Fft音频技术(Android自带)
类方法:android.media.audiofx.Visualizer
调用方法:
var Vis = new AudioFxVisualizer(new android.media.MediaPlayer(),CanvasWidth,CanvasHeight);
//如果不设置为true将不会采集声波(默认false)
Vis.setEnabled(true);
Vis.drawLineGraphics(new android.graphics.Canvas());
例子(宽度和高度请设置相同值):
//播放音乐
var media = new android.media.MediaPlayer();
media.reset();
media.setDataSource(new java.io.File("storage/sdcard0/Works/雪解 (おてんば恋娘).mp3"));
media.prepare();
media.start();
//音频可视化(需要由ImageView承载)
var canvas = new android.graphics.Canvas();
var bitmap = android.graphics.Bitmap.createBitmap(宽度, 高度, android.graphics.Bitmap.Config.ARGB_8888);
canvas.setBitmap(bmp);
var image = new android.widget.ImageView(ctx);
image.setImageBitmap(bmp);
image.setLayoutParams(new android.widget.LinearLayout.LayoutParams(宽度, 高度));
var visualizer = new AudioFxVisualizer(media, 宽度, 高度);
visualizer.setEnabled(true);
visualizer.drawLineGraphics(canvas);
注:drawLineGraphics方法不是实时刷新,想做到实时自己想办法
drawWaveGraphics方法暂时废弃
下次更新drawWaveGraphics方法和调音器
算法原创,可以修改自用,严禁修改后二次转载发布
作者:Tracer追踪者丶
觉得有用就关注一下呗
2L算法
另外附上效果图
禁止发广告


---------------------------
此算法采用Fft音频技术(Android自带)
类方法:android.media.audiofx.Visualizer
调用方法:
var Vis = new AudioFxVisualizer(new android.media.MediaPlayer(),CanvasWidth,CanvasHeight);
//如果不设置为true将不会采集声波(默认false)
Vis.setEnabled(true);
Vis.drawLineGraphics(new android.graphics.Canvas());
例子(宽度和高度请设置相同值):
//播放音乐
var media = new android.media.MediaPlayer();
media.reset();
media.setDataSource(new java.io.File("storage/sdcard0/Works/雪解 (おてんば恋娘).mp3"));
media.prepare();
media.start();
//音频可视化(需要由ImageView承载)
var canvas = new android.graphics.Canvas();
var bitmap = android.graphics.Bitmap.createBitmap(宽度, 高度, android.graphics.Bitmap.Config.ARGB_8888);
canvas.setBitmap(bmp);
var image = new android.widget.ImageView(ctx);
image.setImageBitmap(bmp);
image.setLayoutParams(new android.widget.LinearLayout.LayoutParams(宽度, 高度));
var visualizer = new AudioFxVisualizer(media, 宽度, 高度);
visualizer.setEnabled(true);
visualizer.drawLineGraphics(canvas);
注:drawLineGraphics方法不是实时刷新,想做到实时自己想办法
drawWaveGraphics方法暂时废弃
下次更新drawWaveGraphics方法和调音器
算法原创,可以修改自用,严禁修改后二次转载发布
作者:Tracer追踪者丶
觉得有用就关注一下呗
2L算法
另外附上效果图
禁止发广告


