Hallo,
Hab da ein problem bei wav aufnahmen über microfon.
Wenn ich die datei auf dem Smartphone abspiele hört sich alles sauber an.
Wenn ich die Datei aber auf dem PC abspiele hab ich ein sehr starkes rauchen wenn nicht gesprochen wird.
Code hier aus dem Forum.
Hier mal ne test wav.
Hab da ein problem bei wav aufnahmen über microfon.
Wenn ich die datei auf dem Smartphone abspiele hört sich alles sauber an.
Wenn ich die Datei aber auf dem PC abspiele hab ich ein sehr starkes rauchen wenn nicht gesprochen wird.
Code hier aus dem Forum.
B4X:
Sub Recordbtn_Click
'Stop.Enabled = True
'pb.Initialize("pb")
buffers.Clear
output = StartWaveFile(ExtRoot & "/Music/rec/", "rec" & Datezeit & ".wav", SampleRate, mMono, mBitRate)
recording = True
isRecording = True
streamer.StartRecording
recordingStart = DateTime.Now
Log("Record_Click SampleRate: "&SampleRate)
Timer1.Enabled = True
'btnPlay.Enabled = False
End Sub
Sub StartWaveFile(Dir As String, sFilename As String, sSampleRate As Int, Mono As Boolean _
, BitsPerSample As Int) As OutputStream
'File.Delete(Dir, FileName)
Dim raf As RandomAccessFile
raf.Initialize2(Dir, sFilename, False, True)
raf.WriteBytes("RIFF".GetBytes("ASCII"), 0, 4, raf.CurrentPosition)
raf.CurrentPosition = 8 'skip 4 bytes for the size
raf.WriteBytes("WAVE".GetBytes("ASCII"),0, 4, raf.CurrentPosition)
raf.WriteBytes("fmt ".GetBytes("ASCII"),0, 4, raf.CurrentPosition)
raf.WriteInt(16, raf.CurrentPosition)
raf.WriteShort(1, raf.CurrentPosition)
Dim numberOfChannels As Int
If Mono Then numberOfChannels = 1 Else numberOfChannels = 2
raf.WriteShort(numberOfChannels, raf.CurrentPosition)
raf.WriteInt(sSampleRate, raf.CurrentPosition)
raf.WriteInt(sSampleRate * numberOfChannels * BitsPerSample / 8, raf.CurrentPosition)
raf.WriteShort(numberOfChannels * BitsPerSample / 8, raf.CurrentPosition)
raf.WriteShort(BitsPerSample, raf.CurrentPosition)
raf.WriteBytes("data".GetBytes("ASCII"),0, 4, raf.CurrentPosition)
raf.WriteInt(0, raf.CurrentPosition)
raf.Close
Log("StartWaveFile: "&sSampleRate)
Return File.OpenOutput(Dir, sFilename, True)
End Sub
Sub CloseWaveFile(Dir As String, cFilename As String)
Dim raf As RandomAccessFile
raf.Initialize2(Dir, cFilename, False, True)
raf.WriteInt(raf.Size - 8, 4)
raf.WriteInt(raf.Size - 44, 40)
raf.Close
FillScrollView(path1)
End Sub
Hier mal ne test wav.
Last edited: