| |||||||
Das Thema "Audiodaten aus short-Array als (unkomprimierte) Audiodatei speichern" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 14.04.2011
Beiträge: 9
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
| Wie kann ich außerdem den Inhalt des Arrays am einfachsten als unkomprimierte Audiodatei abspeichern? Danke! Hier die relevanten Codefragmente. Das gesamte Eclipse-Projekt befindet sich im beigefügten Archiv. Code: int AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
int FREQUENCY = 22050; //Herz
double REC_DURATION = 5.0; // in seconds
int bufferSize = -1;
AudioRecord audioRecord = null;
short [] buffer = null; // data sink for recording the audio stream from mic
void initAudio() {
int minBufferSize = AudioTrack.getMinBufferSize(FREQUENCY, AudioFormat.CHANNEL_OUT_MONO, AUDIO_ENCODING);
bufferSize = (int)(REC_DURATION * 10 * minBufferSize);
buffer = new short[bufferSize];
// Create new AudioRecord object to record the audio.
audioRecord = new AudioRecord(
MediaRecorder.AudioSource.MIC,
FREQUENCY, AudioFormat.CHANNEL_IN_MONO,
AUDIO_ENCODING, bufferSize);
}
public void record() {
try {
audioRecord.startRecording();
audioRecord.read(buffer, 0, bufferSize);
audioRecord.stop();
} catch (Throwable t) {
Log.e(ACTIVITY_NAME,"record(): Recording Failed");
}
}
private void saveToSDCard(){
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy.MM.dd HH.mm.ss");
String fileName = sdf.format(new java.util.Date());
try {
String rootS = Environment.getExternalStorageDirectory().toString();
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
File f = new File(rootS + "/AudioClassifier", fileName + ".txt");
FileWriter fw = new FileWriter(f);
BufferedWriter out = new BufferedWriter(fw);
for(int i = 0; i < bufferSize / 2; i++){
out.write("" + buffer[i] + " ");
}
out.close();
fw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
} |
| | |
| | #3 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
Wenn Du wissen willst, wie man eine WAV Datei baut, guckst Du hier: RIFF WAVE ? Wikipedia
__________________ Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon. Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten. Tipp: Zum "Danke" sagen gibt es einen Button. ![]() |
| | |
| | #4 (permalink) |
| Neuer Benutzer Registriert seit: 14.04.2011
Beiträge: 9
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
|
na ja, das is mir schon klar, dass ich mir die wave-datei selber zusammenbasteln kann. was ich aber suche ist eine möglichkeit eine solche wave-datei automatisch generieren zu lassen. nicht weil ich zu faul für die alternative wäre, sondern weil es mir so naheliegend erscheint, dass es dafür einen mechanismus geben müsste. |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Apps als .apk speichern | droiddruid | Motorola Defy Forum | 2 | 09.12.2010 11:42 |
| Array per Zufall in zweites Array übertragen | MBPower | Android App Entwicklung | 2 | 08.08.2010 13:20 |
| 2 Byte auf eine Short | sk84fun | Android App Entwicklung | 1 | 07.06.2010 23:01 |
| Mehrere TextViews in einem Array speichern | Thoresus | Android App Entwicklung | 3 | 11.05.2010 21:05 |
| JSon Array in Array | Sico | Android App Entwicklung | 1 | 18.04.2010 20:02 |