Java tutorial
//package com.java2s; /* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { public static byte[] createSoundDataInByteArray(int bufferSamples, final int sampleRate, final double frequency, double sweep) { final double rad = 2 * Math.PI * frequency / sampleRate; byte[] vai = new byte[bufferSamples]; sweep = Math.PI * sweep / ((double) sampleRate * vai.length); for (int j = 0; j < vai.length; j++) { int unsigned = (int) (Math.sin(j * (rad + j * sweep)) * Byte.MAX_VALUE) + Byte.MAX_VALUE & 0xFF; vai[j] = (byte) unsigned; } return vai; } }