appending erased file has too much disturbed noice

113 Views Asked by At

I am erasing audio file using following code:

NSMutableData *wave =[NSMutableData dataWithContentsOfURL:self.recordedFileURL options:NSDataReadingUncached error:nil];

NSUInteger length = [wave length];

Byte *byteData = (Byte*)malloc(length);
memcpy(byteData, [wave bytes], length);
NSMutableData *data = [NSMutableData dataWithBytes:byteData length:length];

[data replaceBytesInRange:NSMakeRange(length*rangeToCut, length-(length*rangeToCut)) withBytes:NULL length:0];

[data writeToFile:[self.recordedFileURL path] atomically:YES];

it is erasing correctly but after that when i resume my audio ad append resumed part to old part like following:

NSMutableData *part2=[NSMutableData dataWithContentsOfURL:self.soundFileURL options:NSDataReadingUncached error:nil];

         NSFileHandle *file = [NSFileHandle fileHandleForWritingToURL:oldURL error:nil];
         if (file) {

         [file seekToEndOfFile];
         [file writeData:part2];
         }

then audio files are appended successfully but resumed part of audio has too much disturbance not able to listen that part.

Please help me what is going wrong here.

1

There are 1 best solutions below

0
On

Is your sample size 16 bits or more? If you cut the audio in the middle of a sample the rest of the stream will be just noise. You need to be sure of length*rangeToCut being a multiple of the sample size.