この質問は少し難解かもしれません。バイト・アレイのタイム・ストリームのフレーム・レートとサイズの計算
System.Timerを使用してWindowsソケットにByte []を送信しようとしています。
データはwavファイルで、一般的なエンコードは8Khzの16ビット/サンプルです。 MP3アプリケーションでCreating audio applications with Bluetooth
、デバイスは128キロビット/秒および48 kHzのサンプルでエンコードされたファイルからMP3ストリームを送信しているとします
この記事では、私が何をしようとしていますどのようないくつかの詳細に説明します周波数。これは、384バイトのMP3オーディオフレームが24.0ミリ秒ごとに送信されることを意味します。したがって、デバイスが単純に24.0ミリ秒の周期タイマを設定し、タイマが満了したときにパケットを送信すると、一定のビットレートが維持されます。
私の質問はどのようなものですか?それはどのようにオーディオフレームがバイト長であることで、どのように我々は定期的なタイマーは、どのようにこれらの数字は、符号化形式から計算され24.0ミリ秒
です知っていますか:128キロビット/秒および48 kHzのサンプリング周波数?私が試してみました
数学:
double BitsPerSample = 128000;
double SamplesPerSecond = 48000;
// 1 for Mono, 2 for Stereo:
double Channels = 2;
double SingleFramePeriod = 1/SamplesPerSecond;
double BitsPerSecond = SamplesPerSecond * BitsPerSample * Channels;
double BytesPerSecond = (BitsPerSecond/8);
double BytesPerFrame = (1/(BitsPerSecond/8));
どれも私に上記の数値を与えます。
あなたをxryl669ありがとうございました! –