0

この関数 (iOS コア オーディオ用) CMSampleBufferGetAudioBufferListWithRetainedBlockBufferに関する包括的なドキュメント/チュートリアルはありますか? ウェブ上で何も見つけることができませんでした。また、スタック オーバー フローのには、多くの要望が残されています。

4

1 に答える 1

4

CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer を何ヶ月も使用した結果、上記の機能に関する投稿やリンクを見つけるのは難しい一方で、iOS のオーディオの一般的なトピックに関する大量のリソースを簡単に見つけることができることを知りました。本学習コアオーディオ..

iOSコアオーディオの緻密な概念が浸透するには時間がかかり、多くの練習が必要です..物事が浸透すると..上記の方法は、はるかに大きなツールボックスで簡単なツールになります..およびそのすべてのパラメーターと使い方は直感的に理解できる

また、パラメーターと上記の関数が正確に何をするかを知る簡単な方法..ヘッダーファイルで提供されているドキュメントに移動するだけです(つまり、XCodeでメソッドを強調表示し、右クリック->定義にジャンプします)..you'これはCMSampleBuffer.hで確認できます (ただし、コア オーディオを初めて使用する場合は..これらすべてのパラメーターを見て、その 10% しか理解できなくてもイライラしないでください..それは私たち全員に起こりました。時間):

/*!
    @function   CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer
    @abstract   Creates an AudioBufferList containing the data from the CMSampleBuffer,
                and a CMBlockBuffer which references (and manages the lifetime of) the
                data in that AudioBufferList.  The data may or may not be copied,
                depending on the contiguity and 16-byte alignment of the CMSampleBuffer's
                data. The buffers placed in the AudioBufferList are guaranteed to be contiguous.
                The buffers in the AudioBufferList will be 16-byte-aligned if
                kCMSampleBufferFlag_AudioBufferList_Assure16ByteAlignment is passed in.
*/
CM_EXPORT
OSStatus CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(
    CMSampleBufferRef sbuf,             /*! @param sbuf
                                        CMSampleBuffer being accessed. */
    size_t *bufferListSizeNeededOut,    /*! @param bufferListSizeNeededOut
                                        Receives the size of the AudioBufferList required to
                                        accommodate the data. May be NULL. */
    AudioBufferList *bufferListOut,     /*! @param bufferListOut
                                        Allocated by the caller, sized as specified by bufferListSizeNeededOut.
                                        It is filled in with pointers into the retained blockBufferOut.
                                        May be NULL. */
    size_t bufferListSize,              /*! @param bufferListSize
                                        Size of the bufferListOut allocated by the client. If bufferListOut
                                        is not NULL and bufferListSize is insufficient, kFigSampleBufferError_ArrayTooSmall
                                        is returned. */ 
    CFAllocatorRef bbufStructAllocator, /*! @param bbufStructAllocator
                                        Allocator to use when creating the CMBlockBuffer structure. */
    CFAllocatorRef bbufMemoryAllocator, /*! @param bbufMemoryAllocator
                                        Allocator to use for memory block held by the CMBlockBuffer. */
    uint32_t flags,                     /*! @param flags
                                        Flags controlling operation. */
    CMBlockBufferRef *blockBufferOut)   /*! @param blockBufferOut
                                        The retained CMBlockBuffer. */
                            __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0);
于 2012-11-23T07:57:30.103 に答える