AudioFileStream を使用して AAC 音楽をオンラインで再生します。ユーザーがシークしようとすると、シークする必要があるストリーム ファイルのオフセットを知るために AudioFileStreamSeek を呼び出す必要があります。AAC は VBR 音楽形式であるため、AudioFileStreamSeek なしではオフセットを知ることができません。
「この関数を呼び出した後、パーサーは、AudioFileStreamParseBytes 関数に渡される次のデータが、outAbsoluteByteOffset パラメーターで返されたバイト オフセットから始まると想定します。」文書は言います。
AudioFileStreamSeek を呼び出した後、シークする必要のあるデータがまだない場合はどうすればよいですか? 私にできる唯一のことは、シークせずにバイトの解析を続けることです。時々音楽で音が止まると思いますが、それはファイルの右オフセットで対象データに与える約束を破ったからだと思います。
OK 質問: 2:28 などのタイム スタンプをシークしたい場合、AudioFileStreamSeek を呼び出さずにターゲット ファイルのオフセットを取得するにはどうすればよいですか?