Рисование формы волны с помощью AVAssetReader

Я читаю песню из библиотеки iPod с помощью assetUrl (в коде она называется audioUrl) Я могу играть по-разному, могу разрезать, могу немного прецессировать, но ... Я действительно не понимаю, что я буду делать с этим CMSampleBufferRef, чтобы получить данные для рисования сигнала! Мне нужна информация о пиковых значениях, как я могу получить это (может быть, другим) способом?

    AVAssetTrack * songTrack = [audioUrl.tracks objectAtIndex:0];
    AVAssetReaderTrackOutput * output = [[AVAssetReaderTrackOutput alloc] initWithTrack:songTrack outputSettings:nil];
    [reader addOutput:output];
    [output release];

    NSMutableData * fullSongData = [[NSMutableData alloc] init];
    [reader startReading];

    while (reader.status == AVAssetReaderStatusReading){

        AVAssetReaderTrackOutput * trackOutput = 
        (AVAssetReaderTrackOutput *)[reader.outputs objectAtIndex:0];

        CMSampleBufferRef sampleBufferRef = [trackOutput copyNextSampleBuffer];

        if (sampleBufferRef){/* what I gonna do with this? */}

Пожалуйста, помогите мне!

78
задан iFreeman 17 February 2011 в 21:38
поделиться