Как преобразовать файл WAV в M4A? - PullRequest
5 голосов
/ 28 января 2011

Есть ли способ конвертировать мой записанный файл .WAV в файл .M4A в iOS?

А также мне нужно конвертировать файл .M4A в файл .WAV.

Я пытался сСлужбы Audio Queue, но я не могу это сделать.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2011

Эта публикация: Из библиотеки iPod в образцы PCM гораздо меньшим количеством шагов, чем ранее было необходимо описывает, как загрузить файл из пользовательской библиотеки ipod и записать его в файловую систему как линейный pcm (wav ) файл.

Я считаю, что изменения, которые вам нужно будет внести в код для загрузки файла из файловой системы, будут в NSURL, описывающем, где находится актив:

-(IBAction) convertTapped: (id) sender {
// set up an AVAssetReader to read from the iPod Library
NSURL *assetURL = [[NSURL alloc]  initFileURLWithPath:@"your_m4a.m4a"];
AVURLAsset *songAsset =
    [AVURLAsset URLAssetWithURL:assetURL options:nil];

NSError *assetError = nil;
AVAssetReader *assetReader =
    [[AVAssetReader assetReaderWithAsset:songAsset
           error:&assetError]
      retain];
if (assetError) {
    NSLog (@"error: %@", assetError);
    return;
}

Если вы идете в обратном направлении, вам нужно изменить форматирование на выходном конце:

NSDictionary *outputSettings =[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:kAudioFormatLinearPCM], AVFormatIDKey,
[NSNumber numberWithFloat:44100.0], AVSampleRateKey,
[NSNumber numberWithInt:2], AVNumberOfChannelsKey,
[NSData dataWithBytes:&channelLayout length:sizeof(AudioChannelLayout)],
    AVChannelLayoutKey,
[NSNumber numberWithInt:16], AVLinearPCMBitDepthKey,
[NSNumber numberWithBool:NO], AVLinearPCMIsNonInterleaved,
[NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,
[NSNumber numberWithBool:NO], AVLinearPCMIsBigEndianKey,
nil];

Я не уверен в точных настройках, которые здесь используются для m4a, но это должно приблизить вас.

Другой вариант - загрузить в ffmpeg lib и выполнить там все ваши преобразования, но это, похоже, отличается от того, что вы хотите.

0 голосов
/ 08 сентября 2011

TPAACAudioConverter отлично работает

...