1

私はフォーマットAudioQueueBufferを持つのオーディオデータを持ってい void * const ます。短い配列 ( short *) コーデックのオーディオ データが必要です。

Objective c で void * const を Short * に変換する方法??? void から short への型キャストは可能ですか? OSReadBigInt16または、 ???のようなバイト順変換を使用する必要があります。もしそうなら、変換のためのサンプル? 解決策を見つけるのを手伝ってください。

4

2 に答える 2

1

はい、Objective-C は C の型キャストと同じです。つまり、void *ポインタをポインタとして解釈したい場合short *、必要なことは次のとおりです。

(short *)voidPointer

バイトの順序が正しくない場合 (つまり、エンディアンの不一致)、それにも対処する必要があります。ただし、質問の情報に基づいてそうであるかどうかを判断する方法はありません。

于 2012-01-13T03:57:54.010 に答える
1

void*型なしポインターを宣言するための規則です。このようなポインターは、何らかのデータ型へのポインターとして再解釈する必要があります。それが機能するかどうかは、ユーザーまたは API がvoid*ポインターが指すアドレスに何を置くかによって異なります。shortギャップのない値のシーケンスである場合、単純なキャストがshort*機能します。そうしないと、追加の変換が必要になる場合があります。

于 2012-01-13T04:01:34.660 に答える