4

次の「2」は何を表していますか。

SLDataLocator_AndroidSimpleBufferQueue loc_bq   =
{SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};

私が読んだことから、それはバッファの数です。

なぜ2?1だけではないのはなぜですか?そして、2 の方が優れているのであれば、なぜ 10 にしない方がよいのでしょうか?

ありがとう

4

1 に答える 1

8

なぜ2?

バッファが 2 つある場合は、一方を再生中にもう一方を新しいデータで埋めることができます。さらに、最近まで、Android の低レイテンシ オーディオ パスを使用できるようにするには、バッファー キューに少なくとも 2 つのバッファーが必要でした。

1だけではないのはなぜですか?

バッファーが 1 つしかない場合、新しいデータを十分な速度で生成できないリスクがあるため、新しいデータでバッファーをいっぱいにするのは非常に困難です。

そして、2 の方が優れているのであれば、なぜ 10 にしない方がよいのでしょうか?

バッファーのサイズを同じに保つと仮定すると、バッファーの数を増やすと、レイテンシー (バッファーをエンキューしてからそのバッファーが再生されるまでの時間) も増加します。

于 2014-02-24T17:30:51.237 に答える