2011-01-28 14 views

cevap

3

Bu gönderi: From iPod Library to PCM Samples in Far Fewer Steps Than Were Previously Necessary, kullanıcıların ipod kitaplığı dosyalarından nasıl yükleneceğini ve dosya sistemine doğrusal bir pcm (wav) dosyası olarak nasıl yazılacağını anlatır. Gidiyorsun

-(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; 
} 

:

yerine varlıktır açıklar NSURL olacağını kod yapmak gerekecektir değişiklik dosya sisteminden bir dosyayı yüklemeye inanıyoruz

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]; 

ben m4a buraya gider kesin ayarların emin değilim, ama bu yaklaştırır almalısınız: ters yönde, çıkış ucunda biçimlendirmesini değiştirmek gerekecektir.

Diğer seçenek, ffmpeg lib'a yüklenecek ve tüm dönüşümlerinizi oraya yapacak, ancak bu sizin istediğinizden farklı görünüyor.

+0

channelLayout burada nedir çalışıyor? Bağlı postaya göre –

+0

: AudioChannelLayout channelLayout; memset (& channelLayout, 0, sizeof (AudioChannelLayout)); channelLayout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo; – jonbro

İlgili konular