Android平滑音频波形
创始人
2024-10-09 13:01:16
0

在 Android 中,可以使用 AudioTrack 类以平滑的方式显示音频波形。

以下是一个简单的示例代码:

private void renderWaveform(AudioTrack audioTrack, short[] waveform) {
    final int sampleRate = audioTrack.getSampleRate();
    final int channelCount = audioTrack.getChannelCount();
    final int waveformSize = waveform.length;

    final float[] waveformPoints = new float[waveformSize * 4];

    for (int i = 0; i < waveformSize; i++) {
        final float level = waveform[i] / 32767.0f;
        final int x = (int) (((float) i / (float) waveformSize) * (float) getWidth());
        final int y = (int) ((0.5f + (level * 0.5f)) * (float) getHeight());

        waveformPoints[(i * 4)] = x;
        waveformPoints[(i * 4) + 1] = (y * channelCount) - 1;
        waveformPoints[(i * 4) + 2] = x;
        waveformPoints[(i * 4) + 3] = (y * channelCount) + 1;
    }

    final Paint paint = new Paint();
    paint.setColor(Color.BLUE);
    paint.setStrokeWidth(2.0f);

    final Canvas canvas = new Canvas();
    final Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
    canvas.setBitmap(bitmap);

    canvas.drawLines(waveformPoints, paint);

    audioTrack.write(bitmapToByteArray(bitmap), 0, bitmap.getByteCount());
}

private byte[] bitmapToByteArray(Bitmap bitmap) {
    final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.ARGB_8888, 100, outputStream);
    return outputStream.toByteArray();
}

相关内容

热门资讯

透视规律!德州透视竞技联盟,h... 透视规律!德州透视竞技联盟,hhpoker辅助器视频,积累教程(好像有挂)-哔哩哔哩1、完成德州透视...
透视网页版!德普之星辅助工具如... 透视网页版!德普之星辅助工具如何打开(透视)开挂辅助攻略(本来存在有挂)-哔哩哔哩1、操作简单,无需...
透视好牌!安装不了wepoke... 透视好牌!安装不了wepoker,hhpoker辅助靠谱吗,讲义教程(竟然是有挂)-哔哩哔哩1、hh...
透视代打!wepoker安装教... 透视代打!wepoker安装教程(透视)开挂辅助工具(本来真的有挂)-哔哩哔哩1)wepoker安装...
透视辅助!pokemmo手机版... 透视辅助!pokemmo手机版脚本,wpk透视辅助方法,练习教程(果然是有挂)-哔哩哔哩1、下载好p...
透视ai代打!aapoker脚... 透视ai代打!aapoker脚本怎么用(透视)开挂辅助挂(一直存在有挂)-哔哩哔哩1、每一步都需要思...
透视神器!wpk透视插件(透视... 透视神器!wpk透视插件(透视)开挂辅助器(真是真的有挂)-哔哩哔哩1、进入游戏-大厅左侧-新手福利...
透视插件!wepoker永久免... 透视插件!wepoker永久免费脚本,聚星ai辅助工具下载,攻略教程(一直有挂)-哔哩哔哩所有人都在...
透视软件!pokernow辅助... 透视软件!pokernow辅助工具,wpk辅助,教材教程(真是是真的挂)-哔哩哔哩1、让任何用户在无...
透视软件!HH平台挂(透视)开... 透视软件!HH平台挂(透视)开挂辅助app(切实存在有挂)-哔哩哔哩1、玩家可以在HH平台挂软件透明...